On 05/03/2011 09:16 AM, Stefan Schulte wrote:
> Hi,
> 
> I would like to know how your workflow looks like when you're writing
> manifests. Currently we have the following construct:
> 
> * 1 git repository with all modules
> * 3 git branches: dev, staging, prod
> * 3 puppet environments: dev, staging, prod
> 
> The modulepath of each environment is a checkout of the corresponding
> branch. Writing/Editing manifests only happens in dev. If you're done
> you commit your work to a central repo. If dev is somewhat stable
> it is merged into staging (fast-forward-merge) etc.
> 
> This comes with a few problems:
> * If all your systems are running prod and you change something big
>   (e.g. new filesystem layout) you only have too options: Change all your
>   machines to follow the new standard or take the machines you cannot
>   change out of puppet control.
> * There are changes I make in dev that I want to take immediate effect.
>   Example: Deploy the SSH-Key of a new employee to all machines. I can
>   add the key in dev and then cherry-pick the commit in the other
>   branches but I'm not yet sure if that is really a good idea.
> 
> So how do you use environments and branches? One Repository for each
> module or one repository for all modules? Do you use git tag to tag
> certain revisions? Do you run your servers agains different "releases" of
> your manifests or do you just have one "prod" environment?
> 

I'd recommend one repository per module. I don't use tags at all.
Changes are introduced into the development branch and get merged into
the production branch.

Differences between servers are typically handled within the module
classes (i.e. subclass/conditionals/selectors) rather than having them
run against different versions of the module. I can't see how you could
keep a sane environment otherwise.

-- 
Russell A Jackson <r...@csub.edu>
Network Analyst
California State University, Bakersfield

-- 
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