We use Puppet and Mcollective to deploy the 30-40 components of our distributed architecture, with all code wrapped in a common packaging format (something we rolled in-house for our specific use case). Here's a quick overview of how it works:
Puppet has a concept of "facts" about each host, and you can write custom facts, which are just Ruby code that stores a key/value pair essentially. We have a fact that tracks the installed versions of all our code on a given box. So if package foo is installed, there will be a key/value of br_foo_version=2.3.25 or something. When doing a deploy, we use Mcollective to make it immediate. Mcollective has a concept of filters, based on Puppet facts, which will limit the instances that an operation happens on. We have a package installation agent for Mcollective, so the process is to simply tell Mcollective, "Install foo version 2.3.30 on all boxes that have a br_foo_version of '.'," where the dot means any version. We use a Jenkins job to run this, so if someone does a build and checks the "deploy" box, if the build is successful we try to deploy. This solution means we don't have to keep a master list of which packages go to which specific hosts. We also don't have to orchestrate ssh, track credentials for that, etc. You could do this using deb or rpm packages, there's nothing too special about our internal format. I'll probably write a blog post about this, with more detail and examples, pretty soon. -- IRC: autojack Twitter: literatesavant My dev productivity blog: http://holisticqa.com On Sunday, November 17, 2013 8:34:31 AM UTC-8, hrmohr wrote: > > How are you guys using Jenkins to handle the deployment of web apps? > > I have tried the deploy plugin which uses cargo with some poor results. > The deploy fails too often and there’s that dreadful perm. gen. error. > > I’m currently using an ant script that handles tomcat start/stop by ssh > and sftp to upload the web apps. It works just fine, but it’s a very > specific solution. > > Is anyone here using LiveRebel or Puppet and such? If so, can you share > some words about it? > > Cheers, Mads. > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.