Jenkins Docker Plugin

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

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

https://hub.docker.com/r/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

https://hub.docker.com/r/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

https://hub.docker.com/r/jenkins/slave/

An "attached" agent.

jenkins/slave

Installation

Plugin Installation

Manually from the UI or:

/usr/local/bin/install-plugins.sh docker-plugin

Docker Server Setup

Configuration

The agent images need to be created and accessible to the Jenkins server.