Pete Emerson wrote:
I'm using puppet to deploy new versions of our application to our
server instances.

I do this by having a custom puppet node classifier that talks to a
database that defines what version of an application is supposed to be
on a particular node:

parameters:
  application: "webapp",
  webapp_version: "0.5",
  webapp_config: "123",
  webapp_symlink: "0.4"

My puppet recipe then makes sure that webapp version 0.5 is installed
(via yum and rpms), makes sure the right versioned configuration files
are in place, and makes sure that the "current" symlink points at 0.4
so that we can roll to a different version by flipping a symlink. The
puppet recipe has a lot of "requires" to make sure that the upgrade of
the application is graceful and does things in the right order.

My upgrade then goes like this, all controlled via a custom web interface:

1) Insert a jobgroup for the upgrade and a job for each server
instance into a db
2) A job processor then takes the first group of machines to upgrade,
changes their webapp version to the new version, and runs puppet on
them
3) Lather, rinse, repeat step 2 until complete (roll the application
out to prevent downtime), although if there is a puppet failure, all
pending jobs get cancelled.

Given that there are so many ways to skin the same cat, I'm wondering
how others are doing their application deployments using Puppet. Or,
if you are using Puppet but do your app deployments via some other
mechanism, how do you do it, and why aren't you using Puppet to do it?

Pete

I use capistrano for application deployment.

--
Joe McDonagh
AIM: YoosingYoonickz
IRC: joe-mac on freenode
L'ennui est contre-révolutionnaire


--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to