I've too have been looking at workflow as part of a move to puppet 4 and 
I'm confused to hell and back ;) .

Currently we have a single CA Master and a number of production compilation 
masters and a production puppetdb, there are also a number of test 
compilation masters and a test puppetdb.  We run with essentially 2 
branches, one for production and one for test each being deployed *without 
*r10k 
to their respective compilation servers.  The changes in the production and 
test branches are synchronized using meldmerge.  

Personally I'd like to get away from this model and actually introduce a 
more rigorous peer review process, our software development teams use 
Gerrit and our puppet code is actually in this server we just don't 
currently use the features.  The things I've been reading suggest that 
having long running branches for what people seem refer to as application 
tier (dev, prod, test etc) is bad practice and you should have a single 
main branch with possibly a 2nd one for integration testing.  Work is done 
in short lived branches that are merged into the main line when the work is 
complete.  Membership of dev, prod, test etc is determined by facts on the 
node.

There are still some issues I don't really understand though.  It would 
appear that puppetdb doesn't support environments all that well either so 
it would follow that assuming we want to maintain a production and test 
estate for the servers we are maintaining then from a puppet infrastructure 
perspective you'd still have a Puppet CA, a number of production 
compilation servers with a puppetdb, and a number of test compilation 
servers with its own puppetdb.  Either of these could have multiple 
temporary environments deployed on them (hotfix branches on the prod 
compilation servers and feature branches on the test compilation servers) 
but ultimately each main application tier (prod or test) is actually 
deployed from the same branch but from different points in time.  
Unfortunately it would appear r10k doesn't support looking at a specific 
tag of the control repo so not sure how you'd work round that either.

Am I just being naive and foolish or is this kind of workflow possible or 
even desirable ?

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/b0ceac18-cc41-49b8-829a-c7a581f44ac6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to