|
1 |
| -FROM jenkins/jenkinsfile-runner:build-mvncache as jfr-mvncache |
| 1 | +FROM jenkins/jenkinsfile-runner:latest |
2 | 2 |
|
3 |
| -### |
4 |
| -# Build stage |
5 |
| -### |
6 |
| -FROM maven:3.5.4 as jfr-build |
7 |
| -ENV MAVEN_OPTS=-Dmaven.repo.local=/mavenrepo |
8 |
| -COPY --from=jfr-mvncache /mavenrepo /mavenrepo |
9 |
| -ADD pom.xml /jenkinsfile-runner/pom.xml |
10 |
| -RUN cd /jenkinsfile-runner && mvn clean package |
11 |
| -RUN mkdir /app && unzip /jenkinsfile-runner/target/war/jenkins.war -d /app/jenkins && \ |
12 |
| - rm -rf /app/jenkins/scripts /app/jenkins/jsbundles /app/jenkins/css /app/jenkins/images /app/jenkins/help /app/jenkins/WEB-INF/detached-plugins /app/jenkins/winstone.jar /app/jenkins/WEB-INF/jenkins-cli.jar /app/jenkins/WEB-INF/lib/jna-4.5.2.jar |
13 |
| - |
14 |
| -#### |
15 |
| -# Production image |
16 |
| -#### |
17 |
| -FROM adoptopenjdk:8u262-b10-jdk-hotspot |
18 |
| - |
19 |
| -LABEL Description="This is a base image for a single-shot ci.jenkins.io demo" Vendor="Oleg Nenashev" Version="0.3" |
20 |
| - |
21 |
| -# Packages |
22 | 3 | RUN apt-get update && apt-get install -y wget git curl sudo && rm -rf /var/lib/apt/lists/* && curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
|
23 | 4 |
|
24 |
| -COPY --from=jfr-build /jenkinsfile-runner/target/appassembler /app |
25 |
| -COPY --from=jfr-build /jenkinsfile-runner/target/plugins /usr/share/jenkins/ref/plugins |
26 |
| -COPY --from=jenkins/jenkinsfile-runner:1.0-beta-15 /app/bin/jenkinsfile-runner-launcher /app/bin/jenkinsfile-runner-launcher |
27 |
| -# /app/jenkins is a location of the WAR file. It can be empty in the current packaging |
28 |
| -RUN mkdir /app/jenkins |
| 5 | +## Plugins |
| 6 | +COPY *-plugins.txt /usr/share/jenkins/ref/ |
| 7 | +RUN cd /app/jenkins && jar -cvf jenkins.war * && cat /usr/share/jenkins/ref/lib-plugins.txt >> /usr/share/jenkins/ref/runner-plugins.txt |
| 8 | +RUN java -jar /app/bin/jenkins-plugin-manager.jar --war /app/jenkins/jenkins.war --plugin-file /usr/share/jenkins/ref/runner-plugins.txt && rm /app/jenkins/jenkins.war |
29 | 9 |
|
30 | 10 | VOLUME /usr/share/jenkins/ref/casc
|
31 | 11 |
|
| 12 | +COPY jenkins.yaml /usr/share/jenkins/ref/jenkins.yaml |
| 13 | +COPY init_scripts/src/main/groovy/* /usr/share/jenkins/ref/init.groovy.d/ |
| 14 | + |
32 | 15 | ENV JENKINS_HOME="/usr/share/jenkins/ref/"
|
33 | 16 | ENV JAVA_OPTS="-Djenkins.model.Jenkins.slaveAgentPort=50000 -Djenkins.model.Jenkins.slaveAgentPortEnforce=true -Dhudson.model.LoadStatistics.clock=1000"
|
34 | 17 | ENV CASC_JENKINS_CONFIG /usr/share/jenkins/ref/jenkins.yaml
|
35 |
| -COPY jenkins.yaml /usr/share/jenkins/ref/jenkins.yaml |
36 |
| -COPY init_scripts/src/main/groovy/* /usr/share/jenkins/ref/init.groovy.d/ |
37 | 18 |
|
38 | 19 | ENTRYPOINT ["/app/bin/jenkinsfile-runner",\
|
39 |
| - "-w", "/app/jenkins",\ |
40 |
| - "-p", "/usr/share/jenkins/ref/plugins",\ |
41 |
| - "-f", "/workspace/Jenkinsfile"] |
| 20 | + "-w", "/usr/share/jenkins/",\ |
| 21 | + "-p", "/usr/share/jenkins/ref/plugins"] |
| 22 | + |
| 23 | +CMD ["-f /workspace/Jenkinsfile"] |
0 commit comments