• Eggs • Not a solved problem. There's a million ways to build packages. It depends on your company's systems, of course, but what if that changes? Many times we just want to put the code on the boxes from the source repository. So why don't we just go directly from source control using a tag/branch?
it than that, but seriously. The problem is this doesn't handle any other configuration that needs to happen. Until you write some code to do that... It also isn't aware of anything else in the infrastructure.
git "/srv/blog_app" do repository "git://github.com/me/blog_app.git" reference "v2.1.3" action :sync end This is a Chef resource for syncing a repository, on master or on a tag/branch reference
"www-data" action :deploy end This is continuous deployment. Every time Chef runs, it will deploy the specified revision (say its a branch, or a tag). If the revision is already there, then it takes no further action, it is convergent.
do database do database "blog_app" username "blog_app" password "awesome_password" end database_master_role "blog_app_database_master" end passenger_apache2 do end end Set up a rails app, complete with database.yml, and passenger config