Gentoo wrote:

> hi Mlkey
> I am not sure I understood your utility correctly.
> the thing I want is setup a build server, then I can install my new server
> from that box, let's say , a custermized and tested
> stage3 image.

When I am doing a fresh install of a box, I use the generated stage3 to
start with, and the same portage snapshot.  That is the easy part ;)

Once the box is installed, I need a safe environment to maintain it. 
Generally I do upgrades a) every quarter or b) when a glsa requires it.  To
upgrade I download the new portage snapshot, change the snapdate: in the
spec file, do the upgrade (with buildpkg in FEATURES).  The new packages
will be generated in packages/NEWDATE.  If anything goes wrong I can fix it
within the buildhost before rolling it out to the servers.  If anything
goes terribly wrong I can roll back to a stable state by changing the
snapdate back, ditching the entire buildhost and its newly generated
packages, re-creating from the original stage3...

To populate new binary packages to the target servers, on the build server I
have rsyncd set up to publish all of the snapshots/overlays, apache set up
to publish the binary packages:

/etc/rsyncd.conf entries:

[snapshots]
path = /var/buildhoster/snapshot_cache
read only = yes
exclude = distfiles/ packages/

[overlays]
path = /var/buildhoster/overlays
read only = yes
exclude = .svn/

apache entries:
Alias /packages/ /var/buildhoster/packages/


Corresponding entries in the target server make.conf:
SYNC="rsync://buildserver.example.net/snapshots/portage-20060404/portage"
PORTAGE_BINHOST="http://buildserver.example.net/packages/myserver/20060404/All/";

So the basic process to update the target server goes:
sync any overlays
sync portage
emerge -Dug world

-- 
[email protected] mailing list

Reply via email to