Skip to content

bryanlatten/dcos-jenkins-dind-agent

 
 

Repository files navigation

Jenkins Docker-in-Docker Agent

Docker Stars Docker Pulls

A simple Docker image for running a Jenkins agent alongside its very own Docker daemon. This is useful if you're trying to run Jenkins agents on a Mesos cluster, and you also want to build and push Docker images using your CI system.

For full documentation on how to use this Docker image, please refer to https://docs.mesosphere.com/services/jenkins/custom-docker/.

Usage

Command line

Try it out locally by running the following command:

docker run --privileged bryanlatten/jenkins-dind:0.7.0-alpine \
  wrapper.sh "java -version && docker run hello-world"
  • Use DOCKER_ENGINE_LOGS to control visibility of Docker's detailed daemon output

Jenkins

You'll need to configure the Mesos plugin on your Jenkins master to use this image. You'll probably also want to give it a special slave label, so that you don't unnecessarily run builds using the dind image. A relevant snippet of the Mesos plugin within the Jenkins master's config.xml follows:

<org.jenkinsci.plugins.mesos.MesosSlaveInfo>
  <slaveCpus>0.1</slaveCpus>
  <slaveMem>512</slaveMem>
  <executorCpus>0.1</executorCpus>
  <maxExecutors>2</maxExecutors>
  <executorMem>128</executorMem>
  <remoteFSRoot>jenkins</remoteFSRoot>
  <idleTerminationMinutes>3</idleTerminationMinutes>
  <jvmArgs>
    -Xms16m -XX:+UseConcMarkSweepGC -Djava.net.preferIPv4Stack=true
  </jvmArgs>
  <jnlpArgs/>
  <containerInfo>
    <type>DOCKER</type>
    <dockerImage>mesosphere/jenkins-dind:0.6.0-alpine</dockerImage>
    <networking>BRIDGE</networking>
    <useCustomDockerCommandShell>true</useCustomDockerCommandShell>
    <customDockerCommandShell>wrapper.sh</customDockerCommandShell>
    <dockerPrivilegedMode>true</dockerPrivilegedMode>
    <dockerForcePullImage>false</dockerForcePullImage>
  </containerInfo>
  <mode>NORMAL</mode>
  <labelString>dind</labelString>
</org.jenkinsci.plugins.mesos.MesosSlaveInfo>

About

Jenkins Docker-in-Docker agent

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%