Re: [Puppet Users] Workflows and preventing accidental code promotion.

Jason Slagle
Mon, 24 Jun 2013 13:35:27 -0000

On 06/24/2013 04:59 AM, Gav wrote:
> We have quite a large team spread across the globe making multiple
> changes to Puppet manifests each day. This in itself can be a little
> tricky to keep track of, but we also have multiple environments - ENG,
> DEV, etc where we promote our changes to before they reach PROD.
> Attached to each of those environments are the respective ENG, DEV, etc
> servers. Some changes are can be quite major so they need to stay in a
> particular period of time to allow other teams to test before they are
> migrated up to the next environment.
>
> All workflows that I have seen so far appear to be quite linear and
> checkout a individual revision for any given environment, test, rinse
> and repeat until production. I have read the dynamic environments blog
> post
<https://puppetlabs.com/blog/git-workflow-and-puppet-environments/>
> several times trying to make it work for us, but I don''t feel it
does.
> We wanted to cherry-pick individual changesets from one environment into
> the next, ensuring you are not accidently promoting anyone elses changes.
>
> I guess I am asking how you achieve a simple workflow and prevent
> accidental promotion of someone elses code, whilst maintaining several
> environments?

Howdy!

This seems more like a version control problem than a puppet issue - the
same problem exists for developers testing stuff.

Have you looked at git-flow?  Basically it promotes a series of branch
types to do various things.  You could have a handful of "release"
branches that are what get pushed to the various machines.  Then you
control what gets there by what you merge.  This prevents having to
cherry-pick individual commits out of a given branch - just don''t merge
before you want it to go to the test machine.

Jason

--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to puppet-users+unsubscribe@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.