Job hardware, or the servers Continuous Delivery for PE uses to test your Puppet code, must be configured before you begin running jobs or using pipelines. Any node with a Puppet agent installed can be designated as job hardware.
- Install a Puppet agent on each of the nodes you wish to use as job hardware. See Installing agents in the PE documentation for details.
Make sure your Continuous Delivery user
role in PE includes the permission to
puppetlabs-cd4pe_jobsmodule, which is required to run Continuous Delivery for PE jobs on your nodes:
puppetlabs-cd4pe_jobsmodule to the following:
A sample Puppetfile entry:
- The Puppetfile for the production environment on the PE master that manages the agent nodes you've selected as job hardware
The Puppetfile on the
masterbranch of the control repo associated with the PE master that manages the agent nodes you've selected as job hardware
mod 'puppetlabs-cd4pe_jobs', '1.4.0'
Deploy the updated code to the production environment:
puppet code deploy production --wait
- Add the
- Install and configure Docker on each node. Docker is required for the Docker-based pre-built jobs included in Continuous Delivery for PE. See the Installing Docker instructions for details.
Finally, tell Continuous Delivery for PE that the nodes are ready to be
used as job hardware for Docker-based jobs by
assigning them to the Docker hardware capability.
Capabilities organize your job hardware servers and ensure that jobs run on
hardware with the right characteristics. Continuous Delivery for PE
automatically creates a Docker hardware capability for
- In the Continuous Delivery for PE web UI, click Hardware.
- Locate the Docker capability and click + Edit.
Select the PE instance that manages the
nodes you've selected as job hardware. Then, select your job hardware
The selected nodes are added to the Hardware with this capability list on the right.
- Click Save.
puppet_agentmodule cannot be used to successfully upgrade Puppet agents running on job hardware. To upgrade the Puppet agent on a job hardware node, use the agent upgrade script.