All workspaces in your Continuous Delivery for Puppet Enterprise (PE) installation can
use global shared job hardware. The root user or a super user must set up these special job
hardware servers in the root console.
-
Install a Puppet agent on each node you want to
use as global shared job hardware. The PE
documentation provides instructions for Installing agents.
-
Make sure your Continuous Delivery user role
in PE has permission to run the
cd4pe_jobs::run_cd4pe_job
task.
-
Install the
puppetlabs-cd4pe_jobs
module from the
Forge. This module is required to run Continuous Delivery for PE jobs on your nodes.
-
Add the
puppetlabs-cd4pe_jobs
module
to:
- The Puppetfile for the production
environment on the PE primary
server that manages the agent nodes you've selected as job
hardware.
- The Puppetfile on the main branch
of the control repo associated with the PE primary server managing the
agent nodes you've selected as job hardware.
A sample
Puppetfile
entry:
mod 'puppetlabs-cd4pe_jobs', '1.6.0'
-
Run
puppet code deploy production
--wait
to deploy the updated code to the production
environment.
-
Install and configure Docker on your selected
global shared job hardware nodes. Instructions are available in the Docker documentation.
-
In the Continuous Delivery for PE
root console, click
Hardware.
-
You must assign all global shared job hardware servers to the
Docker capability, which Continuous Delivery for PE automatically creates for you. Locate the
Docker capability and click
Edit.
-
Assign all your global shared job hardware servers to the
Docker capability. Select the PE instance that manages the nodes you've
selected as job hardware, and then select the global shared job hardware
nodes.
Selected nodes appear in the Hardware with this
capability list.
-
After selecting all the global shared job hardware nodes, click
Save.
-
Optional:
Create additional capabilities for your global job hardware servers, as
explained in Add job hardware
capabilities.
Results
Your global shared job hardware is configured. Users in all workspaces now see a
Run on shared hardware option when creating or editing a job.
Jobs configured to run on your global shared job hardware have the
Docker capability automatically selected, and these jobs run
on the global shared job hardware assigned to the Docker capability.
CAUTION: If your installation specifies a Docker image in Puppet Application Manager (PAM) (this is common in offline
environments), this image takes precedence over the image set in the Continuous Delivery for PE root console (which is the one shown when
creating or editing a job).