Extends cloudbees/java-build-tools so it can be used as a Jenkins JLNP slave, for use with Jenkins Cloud plugins.
See README for details on available tools.
latest
(latest/Dockerfile)2.4.0
(2.3.0/Dockerfile)2.3.0
(2.3.0/Dockerfile)2.2.0
(2.2.0/Dockerfile)2.1.0
(2.1.0/Dockerfile)2.0.1
(2.0.1/Dockerfile)2.0.0
(2.0.0/Dockerfile)1.0.1
(1.0.1/Dockerfile)1.0.0
(1.0.0/Dockerfile)0.0.5.1
(0.0.5.1/Dockerfile)0.0.5
(0.0.5/Dockerfile)0.0.2
(0.0.2/Dockerfile)
This Docker image is intended to be used in conjunction with a Docker container orchestration service such as
- Kubernetes (see Jenkins Kubernetes Plugin)
- Mesos (see Jenkins Mesos Plugin)
- Amazon EC2 Container Service
It can also be used "static" Jenkins slave connected to a Jenkins master declaring a JNLP slave but it would require to manually launch the Docker container.
Sample with the Jenkins Pipeline Maven Plugin.
node ("jnlp-slave-with-java-build-tools") { // provided by the Kubernetes/Mesos/Amazon ECS Plugin
git "https://github.com/cloudbees-community/game-of-life"
withMaven(mavenSettingsConfig:'my-maven-settings') {
sh "mvn clean deploy"
}
}
The docker image enables Selenium tests bundling Firefox and starting selenium-server-standalone (listening on the default port 4444).
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
WebDriver webDriver = new RemoteWebDriver(DesiredCapabilities.firefox());
webDriver.get("http://www.python.org");
webDriver.getTitle();
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(
command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=DesiredCapabilities.FIREFOX)
driver.get('http://python.org')
To run a Docker container
docker run cloudbees/jnlp-slave-with-java-build-tools -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 URLJENKINS_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.
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git, jq, rsync
-
Ant 1.10.5
-
AWS CLI: aws-cli/1.16.27
-
Azure CLI: 2.0.46
-
Bower: 1.8.4
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.39.1 -
Firefox at
/usr/bin/firefox
: 60.2.2esr -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.23.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.3.1
-
Gulp: 4.0.0
-
Java: OpenJDK 8 (latest): 1.8.0_181
-
JMeter (5.0) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.12.0 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.5.4 -
MySQL Client: 5.7.23
-
Node.js at
/usr/bin/nodejs
: 10.11.0 -
Npm at
/usr/bin/npm
: 5.6.0 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 3.10.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 3.14.0 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar) at
/usr/share/jenkins/slave.jar
: 3.27
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git, jq, rsync
-
Ant 1.10.5
-
AWS CLI: aws-cli/1.16.27
-
Azure CLI: 2.0.46
-
Bower: 1.8.4
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.39.1 -
Firefox at
/usr/bin/firefox
: 60.2.2esr -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.23.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.3.1
-
Gulp: 4.0.0
-
Java: OpenJDK 8 (latest): 1.8.0_181
-
JMeter (5.0) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.12.0 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.5.4 -
MySQL Client: 5.7.23
-
Node.js at
/usr/bin/nodejs
: 10.11.0 -
Npm at
/usr/bin/npm
: 5.6.0 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 3.10.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 3.14.0 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar) at
/usr/share/jenkins/slave.jar
: 3.27
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git, jq, rsync
-
Ant 1.10.4
-
AWS CLI: aws-cli/1.15.53
-
Azure CLI: 2.0.41
-
Bower: 1.8.4
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.37.0 -
Firefox at
/usr/bin/firefox
: 60.1.0esr -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.21.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.2.0
-
Gulp: 4.0.0
-
Java: OpenJDK 8 (latest): 1.8.0_162
-
JMeter (4.0) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.10.0 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.5.4 -
MySQL Client: 5.7.22
-
Node.js at
/usr/bin/nodejs
: 8.11.3 -
Npm at
/usr/bin/npm
: 5.6.0 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 3.9.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 3.13.0 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar) at
/usr/share/jenkins/slave.jar
: 3.23
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git, jq
-
AWS CLI: aws-cli/1.14.70
-
Azure CLI: 2.0.30
-
Bower: 1.8.4
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.36.0 -
Firefox at
/usr/bin/firefox
: 60 -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.20.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.2.0
-
Gulp: 4.0.0
-
Java: OpenJDK 8 (latest): 1.8.0_162
-
JMeter (4.0) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.10.0 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.5.3 -
MySQL Client: 5.7.21
-
Node.js at
/usr/bin/nodejs
: 8.11.1 -
Npm at
/usr/bin/npm
: 3.10.10 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 3.9.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 3.11.0 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar) at
/usr/share/jenkins/slave.jar
: 3.19
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git
-
AWS CLI: aws-cli/1.11.163
-
Azure CLI: 0.10.8
-
Bower: 1.8.0
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.32.0 -
Firefox at
/usr/bin/firefox
: 56 -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.19.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.2.0
-
Gulp: 3.9.1
-
Java: OpenJDK 8 (latest): 1.8.0_131
-
JMeter (3.3) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.8.0 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.5.0 -
MySQL Client: 5.7.19
-
Node.js at
/usr/bin/nodejs
: 6.11.3 -
Npm at
/usr/bin/npm
: 3.10.10 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 3.6.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 3.6.0 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar) at
/usr/share/jenkins/slave.jar
: 3.12
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git
-
AWS CLI: aws-cli/1.11.41
-
Azure CLI: 0.10.8
-
Bower: 1.8.0
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.23.1 -
Firefox at
/usr/bin/firefox
: 50.1.0 -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.13.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.2.0
-
Gulp: 3.9.1
-
Java: OpenJDK 8 (latest): 1.8.0_111
-
JMeter (3.1) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.5.2 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.3.9 -
MySQL Client: 5.7.17
-
Node.js at
/usr/bin/nodejs
: 6.9.4 -
Npm at
/usr/bin/npm
: 3.10.10 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 1.3.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 2.53 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar) at
/usr/share/jenkins/slave.jar
: 3.5
-
OS: Ubuntu 16.04
-
Common tools: openssh-client, unzip, wget, curl, git
-
AWS CLI: aws-cli/1.11.41
-
Azure CLI: 0.10.8
-
Bower: 1.8.0
-
Cloud Foundry CLI (latest) at
/usr/local/bin/cf
: 6.23.1 -
Firefox at
/usr/bin/firefox
: 50.1.0 -
Firefox Geckodriver at
/usr/bin/geckodriver
: v0.13.0 -
gcc (latest): 5.4.0
-
Grunt CLI: 1.2.0
-
Gulp: 3.9.1
-
Java: OpenJDK 8 (latest): 1.8.0_111
-
JMeter (3.1) located in
/opt/jmeter/
-
Kubernetes CLI at
/usr/local/bin/kubectl
: 1.5.2 -
Make (latest): 4.1
-
Maven located in
/usr/share/maven/
: 3.3.9 -
MySQL Client: 5.7.17
-
Node.js at
/usr/bin/nodejs
: 6.9.4 -
Npm at
/usr/bin/npm
: 3.10.10 -
Open Shift V3 CLI at
/usr/local/bin/oc
: 1.3.0 -
Python/2.7.12
-
Selenium at
/opt/selenium/selenium-server-standalone.jar
: 2.53 -
XVFB: 2:1.18.4
-
Jenkins slave.jar (aka remoting.jar): 3.4
- OS: Ubuntu 15.04
- Build tools installed on cloudbees/java-build-tools.
- Jenkins slave.jar (aka remoting.jar)
1.0.1
: 2.62.41.0.0
: 2.590.0.5.1
: 2.53.20.0.5
: 2.53
See the GitHub release notes.
This repository is available on github.com/cloudbees/jnlp-slave-with-java-build-tools-dockerfile/, and the automated build is on the Docker Hub.
This image has been tested with Docker version 1.8.1.
If you have any problems with or questions about this image, please submit a GitHub issue.
If you have a contribution for this repository, please send a pull request.
If you want to contribute to Jenkins CI, see the Contributing to Jenkins.
The cloudbees/java-build-tools image is licensed under the Apache License, Version 2.0, and this repository is too:
Copyright 2015 CloudBees, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.