![]() ![]() It typically takes an hour for the chef run to complete. What if I don’t want all that software? I just want TextMate and node.js! What Is Installed by Default?Īt the end of the chef run the following software will be installed: You can do other things while it’s running (but if you reboot or logout you’ll need to restart the chef run). Here’s a soloistrc that will only install TextMate & node.js: cookbook_paths: Want to change the software that is installed? It’s simple: just change your ~/soloistrc file. If you’re interested in seeing all the recipes available (and there are quite a few), just browse the recipes in the pivotal_workstation repo. Why Did You Choose That Set of Software?Įarly in June, several pivots (Sean Beckett, Matthew Kocher, and David Goudreau, and I) met to decide on the bare minimum set of software and features that our developers would need to function on a new Lion Machine. This set of chef recipes is the result of that meeting. There have been some changes (we have had great difficulty writing recipes to install firefox addons, so we iceboxed the story some of our developers contributed recipes for things they wanted, so we added those). We chose chef/soloist partly because felt that our previous process had reached the end of its usefulness and were familiar with chef from our work automating server configuration. 10.6.7 → 10.6.8), we would take the previous golden image (a golden image is a snapshot of the disk drive of a machine with the applications, preferences, and settings that we wanted), install it on a workstation, upgrade the OS and possibly upgrade some of the applications. We would then use DeployStudio to take an image of the workstation, and that image would become the new golden image. 10.5 → 10.6), we would re-create the golden image by hand, manually installing & configuring the individual software. For the Leopard/Snow Leopard transition, my co-worker Kevin Fitzpatrick spent a week painstakingly configuring the new machine. It was monolithic: if you were a developer, there was no choice: there was only one image.We then took an image using DeployStudio, and that image became the golden image. ![]() We want our developers to be happy sure, they could install the features that they wanted or fix a problem with their workstation, but we want to go a step further: we want to provide the resources they need to write a recipe to minimize the effort the next developer has to go through.We wanted to be able to pick-and-choose which features were installed the needs of an Android developer were different than those of an iPhone developer.We wanted to be able to install all (or almost all) of the features automatically (with minimal user intervention).We were hesitant to approach the developers to ask them what they would like to see on the new image we worried of re-igniting a Holy War.It wasn’t clear that the Golden Image would make the jump to Lion: Lion introduced some big changes (e.g.There was cruft in the image: the golden image had been built up over years.This wasn’t so bad when we were strictly a ruby shop, but when we expanded into android and iphone development, the monolithic approach began to show some shortcomings. Integration tests for the cookbook took several days to set up. We use Faronic’s Deep Freeze on a fairly pristine mac mini to ensure that we have a clean machine when we run our chef scripts. ![]() Continuous integration has proven invaluable for collaboration, for we quickly learn if a commit has unintended consequences. In the more complex chef recipes, we attempt to write tests to test that they have succeeded sshd_on.rb is a good example of testing that a service (sshd) was correctly started. The chef runs, especially the initial one, are flaky. Our current chef run must download software from over 40 different servers, any one of which being down or having changed the download location can cause a failure. For example, Little CMS, a dependency of ImageMagick, resided on, which was down for a few days. Our integration tests failed during that period. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |