Delivery of Puppet code and data, from Puppet Server and users to production can be done in several different ways.
They ultimately depend on each site policies and procedures, but it's still possible to summarise the needed steps and procedures.
From Puppet developer workstation to real puppet run on managed nodes we can identify at least these steps, more or less mandatory, applicable, desired or needed:
- [DevStation] Work on
control-repo:data, local site profile or managed external modules. - [DevStation] [GitServer] [WebGUI] Manage
Puppet[hiera] data - [DevStation] Interactive development and tests on local VMs.
- [DevStation] [CI] Syntax checks
- [DevStation] [CI] Run
unitandintegration tests. - [CI] [WebGUI] Trigger
Puppet runson selected nodes - [CIGUI] [GitServer] Review
CItests - [GitServer] Discuss and review code changes requests
- [WebGUI] Check
Puppet infrastructurestatus and reports - [CI] [GitServer] [WebGUI] Manage code promotion to
productionenvironment/branch - [CI] [WebGUI] [GitServer] Manage
control-repodeployment onPuppet Servers
[TODO] Complete