That sure sounds nice. I frequently have problems with my slaves getting messed up and I have to clean them up. Do you have anything in github elsewhere?
-- Sami Rich Pixley <rich.pix...@palm.com> kirjoitti 31.7.2012 kello 0.23: > I'm not just thinking of using the source code control system to do the > cleaning here. > > I'm coming to jenkins after developing my own automated builder based on > btrfs snapshots. With btrfs snapshots, it's possible to both keep an old > build, (all artifacts intact), lying around while also creating a fresh > incremental build on top of it. The two builds then share files in the file > system so much as they are common and the file system takes care of which > ones stay around. > > With this approach, you can also automate recovery from failures. When an > incremental fails, you simply start the next incremental from the last > successful snapshot. This also allows for "pre-commit" checking in the sense > that changes can be built, (as an incremental on the previous build), and if > successful, the changes can be committed and the work space becomes the next > successful snapshot. If it fails, the next build starts from the previously > successful snapshot. > > This doesn't have the static disk allocation of jenkins, (one job, maximum > one workspace), but you can use the entire disk as a big ring buffer - remove > the oldest builds until there's enough space for the next build, then build. > > This is orders of magnitude faster than using the source code control system > to do the cleaning. It's also significantly faster in all work flows and > doesn't require any source code control system hooks at all. It's completely > source code control system agnostic. > > If you put btrfs on root, it also protects your build host by effectively > running the build in a disk jail. Builds can muck about with the state of > the build host and each build will still be completely independent with a > zero time setup cost. > > --rich