Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| FROM ubuntu:wily | |
| RUN apt-get update && apt-get install -y --no-install-recommends openjdk-8-jdk wget git curl zip && rm -rf /var/lib/apt/lists/* | |
| RUN update-ca-certificates -f | |
| ENV JENKINS_HOME /var/jenkins_home | |
| # Jenkins is ran with user `jenkins`, uid = 1000 | |
| # If you bind mount a volume from host/vloume from a data container, | |
| # ensure you use same uid | |
| RUN useradd -d "$JENKINS_HOME" -u 1000 -m -s /bin/bash jenkins | |
| # Jenkins home directoy is a volume, so configuration and build history | |
| # can be persisted and survive image upgrades | |
| VOLUME /var/jenkins_home | |
| # `/usr/share/jenkins/ref/` contains all reference configuration we want | |
| # to set on a fresh new installation. Use it to bundle additional plugins | |
| # or config file with your custom jenkins Docker image. | |
| RUN mkdir -p /usr/share/jenkins/ref/init.groovy.d | |
| # Use tini as subreaper in Docker container to adopt zombie processes | |
| RUN curl -fL https://github.com/krallin/tini/releases/download/v0.5.0/tini-static -o /bin/tini && chmod +x /bin/tini | |
| COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groovy | |
| ENV JENKINS_VERSION 1.651.3 | |
| ENV JENKINS_SHA 564e49fbd180d077a22a8c7bb5b8d4d58d2a18ce | |
| # could use ADD but this one does not check Last-Modified header | |
| # see https://github.com/docker/docker/issues/8331 | |
| RUN curl -fL http://mirrors.jenkins-ci.org/war-stable/$JENKINS_VERSION/jenkins.war -o /usr/share/jenkins/jenkins.war \ | |
| && echo "$JENKINS_SHA /usr/share/jenkins/jenkins.war" | sha1sum -c - | |
| ENV JENKINS_UC https://updates.jenkins-ci.org | |
| RUN chown -R jenkins "$JENKINS_HOME" /usr/share/jenkins/ref | |
| # for main web interface: | |
| EXPOSE 8080 | |
| # will be used by attached slave agents: | |
| EXPOSE 50000 | |
| ENV COPY_REFERENCE_FILE_LOG $JENKINS_HOME/copy_reference_file.log | |
| USER jenkins | |
| COPY jenkins.sh /usr/local/bin/jenkins.sh | |
| ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"] | |
| # from a derived Dockerfile, can use `RUN plugin.sh active.txt` to setup /usr/share/jenkins/ref/plugins from a support bundle | |
| COPY plugins.sh /usr/local/bin/plugins.sh |