Pipelines enable the "continuous" in Continuous Delivery for Puppet Enterprise (PE). Constructing a pipeline means defining the work that needs to happen to make sure every new line of Puppet code is ready for deployment. Once your pipeline is set up, this work happens automatically each time the pipeline is triggered.
Stages and tasks
Pipelines in Continuous Delivery for PE are made up of stages and tasks. Tasks include deployments, impact analyses, and jobs to test code; stages group tasks into a series of sequential phases.
If you want to set up some logic of the "if this job succeeds, then run the next one, otherwise stop and tell me what happened," variety, use stages to break up the pipeline into a series of incremental steps. You can set your pipeline to require manual promotion before moving on to the next stage, or to promote automatically when certain conditions are met.
Building and managing pipelines: web UI or code?
- Building a pipeline with the web UI is the simplest method for building and managing pipelines. The web UI controls allow you to more easily make iterative changes.
- Building a pipeline as code is more complex, but ideal if you need a record of changes to your pipeline over time, or if you want to avoid hand-creating similar pipelines for many control repos or modules. Using the pipelines-as-code method also lets you commit changes to your pipeline alongside changes to your Puppet code that will necessitate a new pipeline definition.