Construct pipelines
Pipelines drive the continuous aspect of Continuous Delivery for Puppet Enterprise (PE). Constructing a pipeline involves defining work that must happen to ensure 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 are groups of tasks. Stages allow you to break pipelines into a series
of sequential task sets. This allows you to have logical control in your pipeline,
such as:
- Start task B only if all tasks in stage A succeed.
- If a task in stage A fails, stop the pipeline and report the error.
You can also Enable compiler maintenance mode if you want code deployments in your pipelines to skip unavailable (or offline) compilers and replicas.
Use the web UI or code to build and manage pipelines
You can build and manage pipelines in the Continuous Delivery for PE web UI or
through a
.cd4pe.yaml
file. The web UI is simpler,
and it is easier to make iterative changes with the web UI controls. Using a YAML
file to build pipelines as code is more complex, but it is preferred if you:- Need a record of changes to your pipeline over time
- Want to avoid manually creating similar pipelines for many control repos or modules.
- Make changes to your Puppet code that require new pipeline definitions and you want to commit changes to your pipelines-as-code at the same time.
Important: You can't mix these methods within a single control repo
or module. Web UI controls are disabled when you choose to manage pipelines with
code. The following image compares pipelines in the web UI. The pipeline managed
in the web UI has controls available (such as deleting the pipeline, deleting
tasks, and adding stages), whereas the pipeline managed as code does not have
these controls.
-
Construct 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. The steps on this page walk through the process of setting up and using a basic pipeline. -
Construct pipelines from code
If you manage your pipelines with code, rather than in the web UI, you can maintain a record of pipeline changes over time. When you choose to manage pipelines with code, a.cd4pe.yaml
file, containing the pipelines' definitions for a control repo or module, is stored in your source control system alongside the Puppet code for that control repo or module.