Jenkins Docker Plugin: Difference between revisions
Line 54: | Line 54: | ||
Jenkins -> Manage Jenkins -> Configure System -> Cloud -> Add a new cloud -> Docker | Jenkins -> Manage Jenkins -> Configure System -> Cloud -> Add a new cloud -> Docker | ||
===Name=== | |||
docker | |||
===Docker Host URI=== | |||
it is the URI to the Docker Host. May be left blank to use the default value defined by DOCKER_HOST environment variable. A typical value is unix:///var/run/docker.sock or tcp://127.0.0.1:2376. Note that if Jenkins itself runs as a Docker container on the same docker server, <font color=red>TODO</font> | |||
===Server credentials=== | |||
===Docker API Version=== | |||
===Docker Hostname or IP address=== | |||
It is required when access to the Docker server is done via Unix-domain sockets, and Jenkins sits on a different host in the internal or external network. If network access, instead of Unix-domain sockets, is used, the value is not required, as it is obtained from the host part of the Docker Host URI. | |||
Note that the UI has a "Test Connection". | Note that the UI has a "Test Connection". |
Revision as of 21:32, 23 April 2018
External
- https://wiki.jenkins.io/display/JENKINS/Docker+Commons+Plugin
- https://plugins.jenkins.io/docker-commons
- https://wiki.jenkins.io/display/JENKINS/Docker+Plugin
- https://plugins.jenkins.io/docker-plugin
Internal
Overview
ID: docker-commons
ID: docker-plugin
Concepts
Docker Agent
Jenkins can interact with agents executing as containers within a Docker instance. The agent containers must be based on one of the following base images:
jenkins/ssh-slave
The image comes with sshd and a JDK. The Jenkins master will use ssh to connect into the agent's sshd. A SSH key based on unique Jenkins master instance identity can be injected in container on startup, obviating the need for password.
jenkins/jnlp-slave
The image comes with JDK. Jenkins master URL has to be reachable from the agent's container. The container will be configured automatically with the agent's name and secret. No special configuration of the container is needed.
jenkins/slave
An "attached" agent.
jenkins/slave
Installation
Plugin Installation
Manually from the UI or:
/usr/local/bin/install-plugins.sh docker-plugin
Jenkins Server Configuration
Jenkins -> Manage Jenkins -> Configure System -> Cloud -> Add a new cloud -> Docker
Name
docker
Docker Host URI
it is the URI to the Docker Host. May be left blank to use the default value defined by DOCKER_HOST environment variable. A typical value is unix:///var/run/docker.sock or tcp://127.0.0.1:2376. Note that if Jenkins itself runs as a Docker container on the same docker server, TODO
Server credentials
Docker API Version
Docker Hostname or IP address
It is required when access to the Docker server is done via Unix-domain sockets, and Jenkins sits on a different host in the internal or external network. If network access, instead of Unix-domain sockets, is used, the value is not required, as it is obtained from the host part of the Docker Host URI.
Note that the UI has a "Test Connection".
Docker Agent Template: associates a label with a Docker image, which must be available on an accessible registry.
Docker Server Setup
Configuration
The agent images need to be created and accessible to the Jenkins server.