We've started to feel the pain of this so have just got a process running.

The main puppet tree lives in svn and consists of the majority of
service modules, we're only deploying to CentOS boxes so this makes it
relatively easy.  We have:

* two environments - development, production
* three puppetmasters - dev, testing, production
* Jira system to log changes/requests/additions to application and
service modules.

Various application manifests/modules are svn:externals to the related
project, that way ops team can own service/generic modules while
application teams can develop app specific modules.

The puppet trunk can be checked out, modules changed or different
versioned externals pulled in, build a distribution, then release to
the dev environment and test.

Once a puppet release to production is required, a release is built
from the puppet trunk and deployed to the testing master, then finally
to the production master.  Rollback is in the form of deploying the
previous distribution.

Issues
-- The development master can be a bottleneck.
-- Concurrent work streams on application / service modules can cause
a release to be bad.

This is our first stab at it, and i'd like to investigate how people
are using environments and tags to always have a releasable puppet
trunk.

2009/7/17 Teyo Tyree <t...@reductivelabs.com>:
> In the course of training and consulting with Puppet, the question of change
> management best practices has come up over and over again.  On the edges, we
> have small teams that can get away with simply version controlling their
> code using an SCM as an incremental backups while rolling out change in a
> fairly adhoc fashion and larger teams that need branches, QA, and DEV
> environments, and perhaps even separate repositories for each module.  There
> is also the issues of roll back and testing.  We are curious how the
> community approaches these problems in hopes of developing some best
> practices.  So what do you guys/gals do?
> --
> Teyo Tyree :: www.reductivelabs.com
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@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