Public | Automated Build

Last pushed: a year ago
Short Description
Jenkins slave with php 7.0
Full Description

Jenkins JNLP slave Docker image

Find this image on the DockerHub: elthariel/docker-jnlp-slave

A Jenkins slave using JNLP to establish connection.

See Jenkins Distributed builds for more info.

Make sure your ECS container agent is updated before running. Older versions do not properly handle the entryPoint parameter. See the entryPoint definition for more information.

About this fork

This fork of the official image adds the following things to the base image:

  • Installs sudo and adds jenkins user to the sudoers. This might be
    a security breach but since this is intended to run in ephemeral containers
    launched by trusted users, we don't care as much.
  • Installs mysql-server. Admin username:password = root:root
  • Installs redis-server as well as elasticsearch.
  • Installs build-essentials as well as interpreters and dev packages for:
    • ruby
    • nodejs
    • php 7

Configuration specifics

By default, JnlpProtocol3 is disabled due to the known stability and scalability issues.
You can enable this protocol on your own risk using the
<code>JNLP_PROTOCOL_OPTS=-Dorg.jenkinsci.remoting.engine.JnlpProtocol3.disabled=false</code> property.


To run a Docker container

docker run jenkinsci/jnlp-slave -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 -url option, or to set alternate jenkins URL
  • JENKINS_TUNNEL: (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.
Docker Pull Command
Source Repository