General revamp/update of Jenkins versions
Change-Id: Ic2a3ea325591a5e322af29a6a2611a5d94032604
diff --git a/jenkins-docker/master/Dockerfile b/jenkins-docker/master/Dockerfile
index 1579d6e..fcfaa80 100644
--- a/jenkins-docker/master/Dockerfile
+++ b/jenkins-docker/master/Dockerfile
@@ -1,4 +1,4 @@
-FROM jenkins:2.3
+FROM jenkins:latest
USER root
@@ -23,14 +23,15 @@
autoconf \
automake \
xsltproc \
- apt-transport-https \
- && rm -rf /var/lib/apt/lists/*
+ apt-transport-https && \
+ rm -rf /var/lib/apt/lists/* && \
+ \
+ mkdir -p /opt/ && \
+ git clone https://git.openstack.org/openstack-infra/jenkins-job-builder /opt/jenkins_job_builder && \
+ cd /opt/jenkins_job_builder && git checkout 1.6.1 && \
+ pip install /opt/jenkins_job_builder && \
+ mkdir -p /etc/jenkins_jobs && chown jenkins: /etc/jenkins_jobs
-RUN mkdir -p /opt/ && git clone https://git.openstack.org/openstack-infra/jenkins-job-builder /opt/jenkins_job_builder && cd /opt/jenkins_job_builder && git checkout 1.6.1
-
-RUN pip install /opt/jenkins_job_builder
-
-RUN mkdir -p /etc/jenkins_jobs && chown jenkins: /etc/jenkins_jobs
COPY jenkins_jobs.ini /etc/jenkins_jobs/jenkins_jobs.ini
ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false -Dhudson.model.ParametersAction.keepUndefinedParameters=true
@@ -40,38 +41,44 @@
ENV OAUTH_SECRET secret
ENV JENKINS_API_USER user
ENV JENKINS_API_PASSWORD pass
+ENV BINTRAY_URL https://dl.bintray.com/lucamilanesio
COPY edit-config.xslt $JENKINS_REF
COPY config.xml $JENKINS_REF
COPY jenkins.plugins.logstash.LogstashInstallation.xml $JENKINS_REF
-RUN mkdir $JENKINS_REF/.ssh
-RUN chown -R jenkins:jenkins $JENKINS_REF/.ssh
-RUN chmod -R 700 $JENKINS_REF/.ssh
+RUN mkdir $JENKINS_REF/.ssh && \
+ chown -R jenkins:jenkins $JENKINS_REF/.ssh && \
+ chmod -R 700 $JENKINS_REF/.ssh
COPY plugins.txt $JENKINS_REF
-RUN plugins.sh $JENKINS_REF/plugins.txt
+RUN cat $JENKINS_REF/plugins.txt | xargs install-plugins.sh
+# Snapshot build of the Jenkins Docker Plugin (includes unix:/// sockets fix)
+ADD $BINTRAY_URL/jenkins-snapshots/com/nirima/docker-plugin/0.16.1-54-gc5c5be1/docker-plugin-0.16.1-54-gc5c5be1.hpi $JENKINS_REF/plugins/docker-plugin.jpi
+RUN chown -R jenkins:jenkins $JENKINS_REF
+
+RUN mkdir -p $JENKINS_REF/jobs/gerrit-ci-scripts/ && \
+ mkdir -p $JENKINS_REF/jobs/gerrit-ci-scripts-manual/
+
COPY number-executors.groovy $JENKINS_REF/init.groovy.d/
-RUN mkdir -p $JENKINS_REF/jobs/gerrit-ci-scripts/
COPY gerrit-ci-scripts.xml $JENKINS_REF/jobs/gerrit-ci-scripts/config.xml
-RUN mkdir -p $JENKINS_REF/jobs/gerrit-ci-scripts-manual/
COPY gerrit-ci-scripts-manual.xml $JENKINS_REF/jobs/gerrit-ci-scripts-manual/config.xml
-RUN echo "2.0" > $JENKINS_REF/jenkins.install.UpgradeWizard.state
-RUN echo "2.0" > $JENKINS_REF/upgraded
-RUN echo "2.0" > $JENKINS_REF/.last_exec_version
+RUN echo "2.0" > $JENKINS_REF/jenkins.install.UpgradeWizard.state && \
+ echo "2.0" > $JENKINS_REF/upgraded && \
+ echo "2.0" > $JENKINS_REF/.last_exec_version
COPY gitconfig $JENKINS_REF/.gitconfig
-RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
-RUN echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
-RUN apt-get update
-RUN apt-cache policy docker-engine
-RUN apt-get install -y docker-engine=1.11.2-0~jessie
+RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D && \
+ echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list && \
+ apt-get update && \
+ apt-cache policy docker-engine && \
+ apt-get install -y docker-engine=1.11.2-0~jessie
COPY id_rsa* $JENKINS_REF/.ssh/
-RUN chown jenkins:jenkins $JENKINS_REF/.ssh/id_rsa*
-RUN chmod 600 $JENKINS_REF/.ssh/id_rsa
+RUN chown jenkins:jenkins $JENKINS_REF/.ssh/id_rsa* && \
+ chmod 600 $JENKINS_REF/.ssh/id_rsa
COPY config.sh /usr/local/bin/
@@ -89,8 +96,8 @@
&& gosu nobody true
# Set default JDK to 8
-RUN apt-get install -y openjdk-8-jdk
-RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
+RUN apt-get install -y openjdk-8-jdk && \
+ update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
USER root
diff --git a/jenkins-docker/master/Makefile b/jenkins-docker/master/Makefile
index 32eca25..d7b6d3b 100644
--- a/jenkins-docker/master/Makefile
+++ b/jenkins-docker/master/Makefile
@@ -1,12 +1,10 @@
NO_CACHE=false
-IMAGE=gerrit-ci
+IMAGE=gerritforge/gerrit-ci
USE_SECURITY=false
OAUTH_ID=clientid
OAUTH_SECRET=secret
JENKINS_API_USER=user
JENKINS_API_PASSWORD=pass
-DOCKER_PORT=$(shell lsof -i tcp | grep LISTEN | grep docker | cut -d ':' -f 2 \
- | cut -d ' ' -f 1)
# Targets
@@ -17,7 +15,6 @@
-e OAUTH_SECRET=${OAUTH_SECRET} \
-e JENKINS_API_USER=${JENKINS_API_USER} \
-e JENKINS_API_PASSWORD=${JENKINS_API_PASSWORD} \
- -e DOCKER_HOST="http://127.0.0.1:${DOCKER_PORT}" \
--net=host ${IMAGE}
id_rsa:
diff --git a/jenkins-docker/master/config.xml b/jenkins-docker/master/config.xml
index 3038146..909295b 100644
--- a/jenkins-docker/master/config.xml
+++ b/jenkins-docker/master/config.xml
@@ -56,7 +56,49 @@
</retentionStrategy>
<numExecutors>1</numExecutors>
<dockerTemplateBase>
- <image>gerrit-ci-slave-buck</image>
+ <image>gerritforge/gerrit-ci-slave-buck</image>
+ <dockerCommand></dockerCommand>
+ <lxcConfString></lxcConfString>
+ <hostname></hostname>
+ <dnsHosts/>
+ <volumes/>
+ <volumesFrom2/>
+ <environment/>
+ <bindPorts></bindPorts>
+ <bindAllPorts>false</bindAllPorts>
+ <privileged>true</privileged>
+ <tty>false</tty>
+ <extraHosts class="java.util.Collections$UnmodifiableRandomAccessList" resolves-to="java.util.Collections$UnmodifiableList">
+ <c class="list"/>
+ <list reference="../c"/>
+ </extraHosts>
+ </dockerTemplateBase>
+ <removeVolumes>false</removeVolumes>
+ <pullStrategy>PULL_LATEST</pullStrategy>
+ </com.nirima.jenkins.plugins.docker.DockerTemplate>
+ <com.nirima.jenkins.plugins.docker.DockerTemplate>
+ <configVersion>2</configVersion>
+ <labelString>bazel</labelString>
+ <launcher class="com.nirima.jenkins.plugins.docker.launcher.DockerComputerSSHLauncher">
+ <sshConnector plugin="ssh-slaves@1.11">
+ <port>22</port>
+ <jvmOptions></jvmOptions>
+ <javaPath></javaPath>
+ <maxNumRetries>0</maxNumRetries>
+ <retryWaitTime>0</retryWaitTime>
+ </sshConnector>
+ </launcher>
+ <remoteFsMapping></remoteFsMapping>
+ <remoteFs>/home/jenkins</remoteFs>
+ <instanceCap>5</instanceCap>
+ <mode>EXCLUSIVE</mode>
+ <retentionStrategy class="com.nirima.jenkins.plugins.docker.strategy.DockerOnceRetentionStrategy">
+ <idleMinutes>10</idleMinutes>
+ <idleMinutes defined-in="com.nirima.jenkins.plugins.docker.strategy.DockerOnceRetentionStrategy">10</idleMinutes>
+ </retentionStrategy>
+ <numExecutors>1</numExecutors>
+ <dockerTemplateBase>
+ <image>gerritforge/gerrit-ci-slave-bazel</image>
<dockerCommand></dockerCommand>
<lxcConfString></lxcConfString>
<hostname></hostname>
@@ -98,7 +140,7 @@
</retentionStrategy>
<numExecutors>1</numExecutors>
<dockerTemplateBase>
- <image>gerrit-ci-slave-mvn</image>
+ <image>gerritforge/gerrit-ci-slave-mvn</image>
<dockerCommand></dockerCommand>
<lxcConfString>mvn</lxcConfString>
<hostname></hostname>
@@ -119,7 +161,7 @@
<pullStrategy>PULL_LATEST</pullStrategy>
</com.nirima.jenkins.plugins.docker.DockerTemplate>
</templates>
- <serverUrl>http://127.0.0.1:2375</serverUrl>
+ <serverUrl>unix:///var/run/docker.sock</serverUrl>
<connectTimeout>30</connectTimeout>
<readTimeout>30</readTimeout>
<credentialsId></credentialsId>
diff --git a/jenkins-docker/master/plugins.txt b/jenkins-docker/master/plugins.txt
index 26ce9c3..cfef388 100644
--- a/jenkins-docker/master/plugins.txt
+++ b/jenkins-docker/master/plugins.txt
@@ -1,58 +1,58 @@
-ace-editor:1.1
-antisamy-markup-formatter:1.3
-branch-api:1.8
-build-flow-plugin:0.19
-build-timeout:1.18
-cloudbees-folder:5.11
-credentials:2.1.10
-docker-plugin:0.16.2
-durable-task:1.10
-embeddable-build-status:1.9
-envinject:1.92.1
-git:3.0.1
-git-client:2.1.0
-github:1.24.0
-github-api:1.80
-github-branch-source:1.10.1
-github-oauth:0.25
-github-organization-folder:1.5
-git-server:1.7
-greenballs:1.15
-groovy-postbuild:2.3.1
-handlebars:1.1.1
-logstash:1.2.0
-icon-shim:2.0.3
-jquery-detached:1.2.1
-junit:1.13
-mailer:1.17
-mask-passwords:2.8
-matrix-auth:1.4
-matrix-project:1.7
-momentjs:1.1.1
-monitoring:1.60.0
-pipeline-build-step:2.0
-pipeline-input-step:2.0
-pipeline-rest-api:1.4
-pipeline-stage-step:2.1
-pipeline-stage-view:1.4
-plain-credentials:1.2
-scm-api:1.2
-script-security:1.19
-ssh-credentials:1.12
-ssh-slaves:1.12
-structs:1.1
-token-macro:1.12.1
-timestamper:1.8.2
-windows-slaves:1.1
-workflow-aggregator:2.1
-workflow-api:2.0
-workflow-basic-steps:2.0
-workflow-cps:2.4
-workflow-cps-global-lib:2.0
-workflow-durable-task-step:2.0
-workflow-job:2.2
-workflow-multibranch:2.4
-workflow-scm-step:2.0
-workflow-step-api:2.1
-workflow-support:2.0
-xvfb:1.1.3
+ace-editor:latest
+antisamy-markup-formatter:latest
+branch-api:latest
+build-flow-plugin:latest
+build-timeout:latest
+cloudbees-folder:latest
+credentials:latest
+docker-plugin:latest
+durable-task:latest
+embeddable-build-status:latest
+envinject:latest
+git:latest
+git-client:latest
+github:latest
+github-api:latest
+github-branch-source:latest
+github-oauth:latest
+github-organization-folder:latest
+git-server:latest
+greenballs:latest
+groovy-postbuild:latest
+handlebars:latest
+logstash:latest
+icon-shim:latest
+jquery-detached:latest
+junit:latest
+mailer:latest
+mask-passwords:latest
+matrix-auth:latest
+matrix-project:latest
+momentjs:latest
+monitoring:latest
+pipeline-build-step:latest
+pipeline-input-step:latest
+pipeline-rest-api:latest
+pipeline-stage-step:latest
+pipeline-stage-view:latest
+plain-credentials:latest
+scm-api:latest
+script-security:latest
+ssh-credentials:latest
+ssh-slaves:latest
+structs:latest
+token-macro:latest
+timestamper:latest
+windows-slaves:latest
+workflow-aggregator:latest
+workflow-api:latest
+workflow-basic-steps:latest
+workflow-cps:latest
+workflow-cps-global-lib:latest
+workflow-durable-task-step:latest
+workflow-job:latest
+workflow-multibranch:latest
+workflow-scm-step:latest
+workflow-step-api:latest
+workflow-support:latest
+xvfb:latest
diff --git a/jenkins-docker/slave-bazel/Dockerfile b/jenkins-docker/slave-bazel/Dockerfile
index 49321e0..ed4dc63 100644
--- a/jenkins-docker/slave-bazel/Dockerfile
+++ b/jenkins-docker/slave-bazel/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerrit-ci-slave-buck
+FROM gerritforge/gerrit-ci-slave-buck
ADD https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg /tmp/bazel.pub.gpg
RUN echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list && \
diff --git a/jenkins-docker/slave-bazel/Makefile b/jenkins-docker/slave-bazel/Makefile
index 2dd5d8a..f740c74 100644
--- a/jenkins-docker/slave-bazel/Makefile
+++ b/jenkins-docker/slave-bazel/Makefile
@@ -1,5 +1,5 @@
NO_CACHE=false
-IMAGE=gerrit-ci-slave-bazel
+IMAGE=gerritforge/gerrit-ci-slave-bazel
# Targets
diff --git a/jenkins-docker/slave-buck/Dockerfile b/jenkins-docker/slave-buck/Dockerfile
index 30bcf33..3be5203 100644
--- a/jenkins-docker/slave-buck/Dockerfile
+++ b/jenkins-docker/slave-buck/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerrit-ci-slave
+FROM gerritforge/gerrit-ci-slave
# Buck build
diff --git a/jenkins-docker/slave-buck/Makefile b/jenkins-docker/slave-buck/Makefile
index f0c9a0b..f6d5071 100644
--- a/jenkins-docker/slave-buck/Makefile
+++ b/jenkins-docker/slave-buck/Makefile
@@ -1,5 +1,5 @@
NO_CACHE=false
-IMAGE=gerrit-ci-slave-buck
+IMAGE=gerritforge/gerrit-ci-slave-buck
# Targets
diff --git a/jenkins-docker/slave-mvn/Dockerfile b/jenkins-docker/slave-mvn/Dockerfile
index a30123c..d40f4da 100644
--- a/jenkins-docker/slave-mvn/Dockerfile
+++ b/jenkins-docker/slave-mvn/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerrit-ci-slave-buck
+FROM gerritforge/gerrit-ci-slave-buck
USER jenkins
diff --git a/jenkins-docker/slave-mvn/Makefile b/jenkins-docker/slave-mvn/Makefile
index 89fc91d..7e48a5a 100644
--- a/jenkins-docker/slave-mvn/Makefile
+++ b/jenkins-docker/slave-mvn/Makefile
@@ -1,5 +1,5 @@
NO_CACHE=false
-IMAGE=gerrit-ci-slave-mvn
+IMAGE=gerritforge/gerrit-ci-slave-mvn
# Targets
diff --git a/jenkins-docker/slave/Makefile b/jenkins-docker/slave/Makefile
index a5edf76..30c20a6 100644
--- a/jenkins-docker/slave/Makefile
+++ b/jenkins-docker/slave/Makefile
@@ -1,5 +1,5 @@
NO_CACHE=false
-IMAGE=gerrit-ci-slave
+IMAGE=gerritforge/gerrit-ci-slave
build: id_rsa.pub
docker build --no-cache=$(NO_CACHE) -t ${IMAGE} .