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
