This Docker image combine remote JNLP Jenkins slave with maven configured and Docker inception, to build inside docker more docker images dynamicaly
A Jenkins slave using JNLP to establish connection.
See Jenkins Distributed builds for more info.
See Docker inception
To run a Docker container, it is important to run it in privileged mode, like:
docker run --privileged oviis/jenkins-mvn-dind-slave:v1 -url http://jenkins-server:port <secret> <slave name>
optional environment variables:
JENKINS_URL: url for the Jenkins server, can be used as a replacement to
-urloption, or to set alternate jenkins URL
HOST:PORT) connect to this slave host and port instead of Jenkins server, assuming this one do route TCP traffic to Jenkins master. Useful when when Jenkins runs behind a load balancer, reverse proxy, etc.
the Image have been build on the docker alpine base<br>
- have a openjdk8 inside<br>
- have mvn installed and configured
- a docker daemon started
- a jenkins user configured as jnlp slave, also with permissions to run docker commands