[chef] Re: Triggering chef runs/deploys:


Chronological Thread 
  • From: Joshua Timberman < >
  • To:
  • Subject: [chef] Re: Triggering chef runs/deploys:
  • Date: Thu, 26 Aug 2010 08:14:37 -0600

Hello!

We wrote the 'application' cookbook to do application deployments via 
Chef-runs. It was originally written for a Rails application infrastructure, 
but it can be extended with new recipes to handle other kinds of application 
stacks (like jruby/glassfish, or php/drupal, python/django).

Our blog post introducing it:

http://www.opscode.com/blog/2010/05/06/data-driven-application-deployment-with-chef/

A recent blog post of a Chef user implementing the cookbook for his 
application:

http://www.agileweboperations.com/how-to-deploy-ruby-on-rails-with-the-opscode-chef-application-cookbook

And the README documentation for the cookbook itself:

http://github.com/opscode/cookbooks/blob/master/application/README.md

(though you should download it from the cookbooks site with knife to put it 
in your local chef-repo.)

That said, we don't currently have a framework in place for triggering Chef 
runs outside of using ssh (i.e., knife ssh). That is something we'd like to 
implement, and if you have ideas about it please let us know!


On Aug 25, 2010, at 11:25 PM, Leinartas, Michael wrote:

> So I'm at the point in my chef buildout that I need to start working on 
> application deploys.  The deploy resource is clear enough to work with.  My 
> question is, how do I trigger a deployment?
> 
> I understand that if I use the 'revision' deploy strategy, I can set up a 
> branch for the production environment and trigger deploys by promoting to 
> that branch and waiting for the next chef run, but the guys I'm working 
> with aren't crazy about that (and I have my hesitations as well).  Right 
> now, the only alternative I can see is to keep the deploy action disabled 
> normally and when we want to deploy: enable deploy, ssh to all the servers 
> and run the client, disable deploy.
> 
> So how does everyone else do this?  The part of the above I really dont 
> like is the "ssh to all the servers" part.  I dont like using ssh for 
> command and control - shell is too fragile and generic (try managing 120+ 
> applications on 1500+ servers with nothing but ssh + scripts.. bad 
> experience), ssh key management is a pain, etc.  This leads into my side 
> question: is there some other way to trigger (push) a chef run? 
> 
> FWIW the apps I'm working with right now are jruby on rails apps deployed 
> in glassfish (using the glassfish gem) and some miscellaneous jruby daemons 
> started with hashdot.
> 
> As usual, any insight or discussion is appreciated
> michael

-- 
Opscode, Inc
Joshua Timberman, Technical Evangelist
C: 720.334.RUBY E: 





Archive powered by MHonArc 2.6.16.

§