Job hardware requirements
System requirements for Continuous Delivery for PE job hardware depend on the size of your Continuous Delivery for PE installation, the type of jobs you run, and how frequently you run them.
The size of the load placed on a job hardware server determines how robust the server's resources must be. Due to the number of variables involved in estimating this (such as the number of jobs running concurrently and the languages the jobs are written in), it's impossible to provide universal system requirements for job hardware.
Instead, we've created a sizing guide based on the estimated number of concurrent jobs you expect your job hardware server to handle regularly. While this guide represents our best estimates and understanding, it's only a starting point. Through testing and experience, you can fine-tune your job hardware and determine the optimum resource configuration for your Continuous Delivery for PE installation.
|Estimated concurrent job load||Memory||Disk storage||CPUs|
|2 - 4 concurrent spec tests||4 GB||100 GB||2|
|4 - 8 concurrent spec tests||8 GB||100 GB||4|
|6 - 12 concurrent spec tests||8 GB||100 GB||6|
- Disk storage requirements are minimal and don't increase with added load. After a job run is complete, the job's log is passed to the object storage, and all data related to the job run is erased from the job hardware.
- You can run more jobs concurrently without increasing CPUs, but the jobs run slower.
Job hardware requirements for Docker-based jobs
To run Docker-based jobs, your job hardware must have a modern
version of Docker CE or Docker EE installed. The
puppetlabs/docker module (from the Forge) is our recommended way to install Docker and keep it updated.
Install Docker images on offline nodes
When using Docker-based jobs in an airgapped environment, you need to download the images using a machine with internet access then manually copy the images onto the offline nodes.
puppet/puppet-dev-tools:4.ximage onto an offline node:
From a node with access to the internet, download the image from Docker Hub using:
docker pull puppet/puppet-dev-tools:4.x
Export the image as a file using:
docker save puppet/puppet-dev-tools:4.x > puppet-dev-tools-4x.
puppet-dev-tools-4xfile onto the offline node in a manner compliant with your security protocols.
From offline node, import the image from file:
docker import puppet-dev-tools-4x puppet/puppet-dev-tools:4.x