6 ms·
GridCentric (fork() for VMs) + Hudson = Elastic Build System
- tsmith 16y agoThis is an elaboration on Dave's earlier post here: http://blog.gridcentriclabs.com/2010/07/elastic-build-systems.html http://blog.gridcentriclabs.com/2010/07/elastic-build-system...
- j_baker 16y agoThis is a big deal. As your build process grows more complex, it can become a very significant bottleneck.
- tsmith 16y agoThanks! Tell your friends! We're giving away fully-functional 60-day trial licenses and there are a growing number of interesting use cases for VM clone: http://blog.gridcentriclabs.com/search/label/recipes http://blog.gridcentriclabs.com/search/label/recipes
- jcromartie 16y agoSlightly off-topic, but I've been building my CI server by hand with Rake and various shell/Ruby scripts. It's working OK but I wonder if I would gain anything by moving to Hudson. I've heard a lot about it lately.
- dlsspy 16y agobuildbot is the lisp of CI systems. That is to say, as a buildbot user/contributor I look at things like this and say, ``Oh, yeah, we added latent slaves with an EC2 sample implementation somewhere around the end of 2008/beginning of 2009.'' buildbot lacks a really awesome web interface, but I don't use that part very much. It runs everywhere and does everything, so we end up having to focus mostly on our actual software.
- amscanne 16y agoBut how do you ensure that your EC2 slaves have exactly the same tools/libraries/environment as your blessed build machine? I'm guessing you just have to carefully curate and update AMIs every single time you make a change to the master. Chasing that stuff down is massively time-consuming.
- dlsspy 16y agoIf I did it twice, I'd automate it. I haven't made very many AMIs, but when I did, I got it down to a little shell script that basically goes from a blank machine to me installing a few things I needed, building some stuff I needed, uninstalling some other stuff and uploading the images with roughly no effort on my part. The most painful part was using the web console to launch instances and then wait for them.
- ekidd 16y agoIf you're running on EC2, you should _really_ be using a tool like Chef or Puppet (or at least your OS's package manager with custom packages) to make your configuration repeatable. This will allow you to spin up new machines in a known configuration in minutes, and your entire environment will be completely documented.