I am learning Puppet as our future deployment and provisioning tool in our store, but now I'm stuck on how to make a smart chain of continuous integration / delivery tools with deployment through Puppet.
In any of our environments (dev, test, qa, demo, prod), we have a number of components. We should be able to deploy each component separately and, possibly, even in parallel.
I would like to start (via a script) deployment of a package with one component (= Puppet module) and collect the result and success status. Just waiting for the scheduled agent to pull or make a puppet test on each node in the environment is not good enough, as it can pick up other pending changes (I don’t know if there is another component also during the deployment process).
In my tool chain, I would like the deployment output and the state of component A and component B to be recorded separately and not mixed.
So my question is: can I use a puppet to deploy one named package (module) at a time?
And if not, then where was I wrong when I traveled along this path?
I understand that a Puppet master layout with modules and manifests replicated to each node could possibly do this, but IMHO is a Puppet master layout that can hit the target of Puppet.
PS: I think what I'm trying to achieve is called "Directed Orchestration" in a very instructive video by Damon Edwards on Integrating DevOps Tools into the Platform Delivery Service (at around 22:30).
source
share