This plugin is no longer maintained.
This a Jenkins plugin for delegating builds into a docker container on Jenkins agents.
The plugin also features first-class support for nvidia-docker exposing the most common configuration options. This plugin makes it easy to allocate GPU devices using the 'executor' device visibility option.
Since the docker containers run on individual Jenkins agents, you're still able to use labels to direct builds to specific agents. This is useful for labeling nodes with the type of GPUs available.
- Use image or Dockerfile for the container
- Run jobs in the container as a specific user
- Use specific Docker runtime
- Limit memory for the container
- Specify arbitrary environment variables in the container
- Mount volumes
- Run secondary side containers (for databases, webservers, etc)
- nvidia-docker features
- Choose GPU visibility
- Choose driver capabilities
- Choose minimum CUDA version
- Download the
.hpi
from the releases - Upload it to your Jenkins instance at
http://<jenkins url>/pluginManager/advanced
Why not use docker-slaves-plugin?
Two reasons:
docker-slaves-plugin
executes the docker container on either a globally defined docker URL or a job-specific URL. This plugin instead runs the build on a Jenkins agent and the agent delegates into a docker container based that node's docker configurationdocker-slaves-plugin
doesn't support modifying the docker runtime (required supportnvidia-docker
)
Do I need to have an NVIDIA GPU on my Jenkins agent to use this plugin?
Nope! This plugin works without any GPUs. You will be unable to use the nvidia-docker
related settings, but builds can still run on agents and execute with docker.