⛔ Continuous Delivery agent

DEPRECATED: The Continuous Delivery agent is deprecated as of Continuous Delivery for PE version 3.4.0, and will be removed in a future release. While existing job hardware running the Continuous Delivery agent will continue to function until the removal date, you cannot make changes or updates to these job hardware servers.

Important: See Migrating your job hardware agents for instructions on updating your job hardware to use a Puppet agent.

Selecting a job hardware installation method

There are two methods for authenticating your account when configuring job hardware to use the Continuous Delivery agent. Which you choose to employ is mainly a question of how many servers you're designating as job hardware.

When installing the Continuous Delivery agent, you must enter the email address and password associated with your Continuous Delivery for PE account. Doing this manually is fine if you're setting up a server or two, but if you're configuring a larger number of servers, adding these credentials can quickly become cumbersome. In this case, using a distelli.yml file to automatically pass your credentials to the agent is the more efficient method.

Configure job hardware with the web UI

To designate a server as job hardware, install the Continuous Delivery agent on the server and mark it as active job hardware in the web UI.

Tip: This method is best to use if you're configuring a small number of servers.
  1. In the Continuous Delivery for PE web UI, click Hardware.
  2. Click Add job hardware.
  3. Select Linux / MacOS or Windows. Install the Continuous Delivery agent by running the commands shown in the web UI on the machine you've designated as job hardware.
    Important: On Linux hosts, the agent installation process adds a sudoers rule to /etc/sudoers.d/distelli that enables the distelli user to run any command with sudo privileges and without requiring a password.
  4. When prompted for your email and password, enter the credentials associated with your Continuous Delivery for PE account.
    Important: Do not enter the root account credentials.
  5. At the prompt To which hardware collection should this agent be added? select the relevant workspace.
  6. In the Continuous Delivery for PE web UI, close the Add job hardware pane. You might need to refresh the Job hardware page to see your newly configured job hardware.
  7. Click the Job hardware active toggle to mark your new job hardware as active.
  8. Optional: Click + Add capability and enter up to three capabilities associated with this piece of job hardware, such as PUPPET-AGENT or DOCKER, pressing Save after each addition.

    The Continuous Delivery agent automatically detects and displays four reserved capabilities: WINDOWS, LINUX, DARWIN, and RASPBIAN.

    When creating a job, you can specify which job hardware capabilities are required. This allows you to ensure that jobs requiring specific conditions, such as a particular operating system or piece of software, are run only on job hardware meeting those conditions.

    Important: In order to run jobs in Docker containers (including pre-built jobs), make sure Docker is installed on your job hardware and set DOCKER as a capability.
    Note: Running Docker-enabled job hardware on an Alpine Linux base image requires the libgcc, bash, wget, and ca-certificates packages.

Configure job hardware with distelli.yml

By setting up a distelli.yml file containing your user-specific agent credentials, you can configure job hardware without manually entering your account credentials.

Tip: This method is best to use if you're configuring a large number of servers and don't want to enter your credentials manually each time.
  1. Create your agent credentials.
    1. In the Continuous Delivery for PE web UI, click Settings.
    2. Click Hardware agents, then click Create agent credentials.
    3. Continuous Delivery for PE creates an access token and secret key for your account. Click Show to display your secret key. Leave this page open while you set up your distelli.yml file.
  2. Create a file named distelli.yml and store it in a convenient location.
  3. Add the following to your distelli.yml file, pasting in the access token and secret key you generated in Step 1:
    DistelliAccessToken: <MY_ACCESS_TOKEN>
    DistelliSecretKey: <MY_SECRET_KEY>
    Save the file and exit.
  4. In the Continuous Delivery for PE web UI, click Hardware.
  5. Click Add job hardware.
  6. Select Linux / MacOS or Windows. SSH into the machine you've chosen to designate as job hardware. In sudo or Administrator mode, install the Continuous Delivery agent by running the commands shown in the web UI, adding -conf <PATH_TO_DISTELLI.YML_FILE> to the end of the distelli agent install command.
    For example, /usr/local/bin/distelli agent install -conf <PATH_TO_DISTELLI.YML_FILE>.
    Important: On Linux hosts, the agent installation process adds a sudoers rule to /etc/sudoers.d/distelli that enables the distelli user to run any command with sudo privileges and without requiring a password.
  7. At the prompt To which hardware collection should this agent be added? select the relevant workspace.
  8. In the Continuous Delivery for PE web UI, click Hardware.
  9. Click the Job hardware active toggle to mark your new job hardware as active.
  10. Optional: Click + Add capability and enter up to three capabilities associated with this piece of job hardware, such as PUPPET-AGENT or DOCKER, clicking Save after each addition.

    The Continuous Delivery agent automatically detects and displays four reserved capabilities: WINDOWS, LINUX, DARWIN, and RASPBIAN.

    When creating a job, you can specify which job hardware capabilities are required. This allows you to ensure that jobs requiring specific conditions, such as a particular operating system or piece of software, are run only on job hardware meeting those conditions.

    Important: In order to run jobs in Docker containers (including pre-built jobs), make sure Docker is installed on your job hardware and set DOCKER as a capability.
    Note: Running Docker-enabled job hardware on an Alpine Linux base image requires the libgcc, bash, wget, and ca-certificates packages.

Upgrade the Continuous Delivery agent

To upgrade the Continuous Delivery agent to a more recent version, reinstall the agent on top of the existing agent.

Important: The Continuous Delivery agent is deprecated as of Continuous Delivery for PE version 3.4.0, and will be removed in a future release. Upgrading the Continuous Delivery agent is no longer supported. See Migrating your job hardware agents for instructions on updating your job hardware to use a Puppet agent.
  1. In the Continuous Delivery for PE web UI, click Hardware.
  2. Click Add job hardware.
  3. Select Linux / MacOS or Windows. SSH into the machine you're using as job hardware. In sudo or Administrator mode, install the Continuous Delivery agent by running the commands shown in the web UI.
    Important: If you created a distelli.yml file to store your agent credentials, add -conf <PATH_TO_DISTELLI.YML_FILE> to the end of the distelli agent install command and skip to step 5 below.
  4. When prompted for your email and password, enter the credentials associated with your  Continuous Delivery for PE account.
    Important: Do not enter the root account credentials.
  5. In the Continuous Delivery for PE web UI, click Hardware and locate the newly upgraded server.
  6. Click the Job hardware active toggle to mark the upgraded job hardware as active.
  7. Click + Add capability and enter up to three capabilities associated with this piece of job hardware, such as PUPPET-AGENT or DOCKER, clicking Save after each addition.

Configure global shared job hardware running a Continuous Delivery agent

The Continuous Delivery agent is deprecated as of Continuous Delivery for PE version 3.4.0, and will be removed in a future release. While existing global shared job hardware running the Continuous Delivery agent will continue to function until the removal date, you cannot make changes or updates to these shared job hardware servers.

A super user must perform this action. Once set up, all super users and the root user can view global shared job hardware in the root console.
Important: See Migrating your job hardware agents for instructions on updating your global shared job hardware to use a Puppet agent.
  1. Log into the root console by selecting Root console from the workspaces menu at the top of the Continuous Delivery for PE navigation bar.
  2. Click Hardware, then click Add job hardware.
  3. Select Linux / MacOS or Windows. Install the Continuous Delivery agent by running the commands shown in the web UI on the machine you've designated as global shared job hardware.
    Important: On Linux hosts, the agent installation process adds a sudoers rule to /etc/sudoers.d/distelli that enables the distelli user to run any command with sudo privileges and without requiring a password.
  4. When prompted for your login email and password, enter the credentials associated with your super user account.
  5. At the prompt To which hardware collection should this agent be added? select Global shared hardware.
  6. In the root console, close the Add job hardware pane. You might need to refresh the Job hardware page to see your newly configured global shared job hardware.
  7. Click the Job hardware active toggle to mark your new job hardware as active.
  8. Optional: Click + Add capability and enter up to three capabilities associated with this piece of job hardware, such as PUPPET-AGENT or DOCKER, pressing Save after each addition.

    The Continuous Delivery agent automatically detects and displays four reserved capabilities: WINDOWS, LINUX, DARWIN, and RASPBIAN.

    When creating a job, users can specify which job hardware capabilities are required. This ensures that jobs requiring specific conditions, such as a particular operating system or piece of software, are run only on job hardware meeting those conditions.

    Important: In order to run jobs in Docker containers (including pre-built jobs), make sure Docker is installed on your job hardware and set DOCKER as a capability.
    Note: Running Docker-enabled job hardware on an Alpine Linux base image requires the libgcc, bash, wget, and ca-certificates packages.
Results
Now that shared global job hardware is available, a Use shared hardware option is shown when creating or editing a job.