Constructing pipelines
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.
-
Constructing pipelines in the web UI
Build and manage pipelines for your control repo or module in the Continuous Delivery for Puppet Enterprise (PE) web UI using the tools built into the interface. If you complete the tasks on this page in the order presented, you'll set up and learn to use a basic pipeline. -
Constructing pipelines from code
Managing your pipelines with code, rather than in the web UI, lets you maintain a record of pipeline changes over time. When you elect to manage pipelines with code, a.cd4pe.yaml
file with the pipelines' definitions for a control repo or module is stored in your source control system alongside the Puppet code for that control repository or module.