| # debian.sh --arch 'arm64' out/ 'trixie' '@1775433600' |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates curl git libfontconfig1 libfreetype6 procps ssh-client tini unzip tzdata && rm -rf /var/lib/apt/lists/* # buildkit |
| ARG GIT_LFS_VERSION=3.7.1 |
| RUN |1 GIT_LFS_VERSION=3.7.1 /bin/sh -c arch=$(uname -m | sed -e 's/x86_64/amd64/g' -e 's/aarch64/arm64/g') && curl -L -s -o git-lfs.tgz "https://github.com/git-lfs/git-lfs/releases/download/v${GIT_LFS_VERSION}/git-lfs-linux-${arch}-v${GIT_LFS_VERSION}.tar.gz" && tar xzf git-lfs.tgz && bash git-lfs-*/install.sh && rm -rf git-lfs* # buildkit |
| ENV LANG=C.UTF-8 |
| ARG TARGETARCH=arm64 |
| ARG COMMIT_SHA=0a6e573830c0c5dbc60fbbbd733d0abb5cf87627 |
| ARG user=jenkins |
| ARG group=jenkins |
| ARG uid=1000 |
| ARG gid=1000 |
| ARG http_port=8080 |
| ARG agent_port=50000 |
| ARG JENKINS_HOME=/var/jenkins_home |
| ARG REF=/usr/share/jenkins/ref |
| ENV JENKINS_HOME=/var/jenkins_home |
| ENV JENKINS_SLAVE_AGENT_PORT=50000 |
| ENV REF=/usr/share/jenkins/ref |
| RUN |11 GIT_LFS_VERSION=3.7.1 TARGETARCH=arm64 COMMIT_SHA=0a6e573830c0c5dbc60fbbbd733d0abb5cf87627 user=jenkins group=jenkins uid=1000 gid=1000 http_port=8080 agent_port=50000 JENKINS_HOME=/var/jenkins_home REF=/usr/share/jenkins/ref /bin/sh -c mkdir -p $JENKINS_HOME && chown ${uid}:${gid} $JENKINS_HOME && groupadd -g ${gid} ${group} && useradd -d "$JENKINS_HOME" -u ${uid} -g ${gid} -l -m -s /bin/bash ${user} # buildkit |
| VOLUME [/var/jenkins_home] |
| RUN |11 GIT_LFS_VERSION=3.7.1 TARGETARCH=arm64 COMMIT_SHA=0a6e573830c0c5dbc60fbbbd733d0abb5cf87627 user=jenkins group=jenkins uid=1000 gid=1000 http_port=8080 agent_port=50000 JENKINS_HOME=/var/jenkins_home REF=/usr/share/jenkins/ref /bin/sh -c mkdir -p ${REF}/init.groovy.d # buildkit |
| ENV JENKINS_UC=https://updates.jenkins.io |
| ENV JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental |
| ENV JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals |
| RUN |11 GIT_LFS_VERSION=3.7.1 TARGETARCH=arm64 COMMIT_SHA=0a6e573830c0c5dbc60fbbbd733d0abb5cf87627 user=jenkins group=jenkins uid=1000 gid=1000 http_port=8080 agent_port=50000 JENKINS_HOME=/var/jenkins_home REF=/usr/share/jenkins/ref /bin/sh -c chown -R ${user} "$JENKINS_HOME" "$REF" # buildkit |
| ARG PLUGIN_CLI_VERSION=2.14.0 |
| ARG PLUGIN_CLI_URL=https://github.com/jenkinsci/plugin-installation-manager-tool/releases/download/2.14.0/jenkins-plugin-manager-2.14.0.jar |
| RUN |13 GIT_LFS_VERSION=3.7.1 TARGETARCH=arm64 COMMIT_SHA=0a6e573830c0c5dbc60fbbbd733d0abb5cf87627 user=jenkins group=jenkins uid=1000 gid=1000 http_port=8080 agent_port=50000 JENKINS_HOME=/var/jenkins_home REF=/usr/share/jenkins/ref PLUGIN_CLI_VERSION=2.14.0 PLUGIN_CLI_URL=https://github.com/jenkinsci/plugin-installation-manager-tool/releases/download/2.14.0/jenkins-plugin-manager-2.14.0.jar /bin/sh -c curl -fsSL ${PLUGIN_CLI_URL} -o /opt/jenkins-plugin-manager.jar && echo "$(curl -fsSL "${PLUGIN_CLI_URL}.sha256") /opt/jenkins-plugin-manager.jar" >/tmp/jpm_sha && sha256sum -c --strict /tmp/jpm_sha && rm -f /tmp/jpm_sha # buildkit |
| EXPOSE [8080/tcp] |
| EXPOSE [50000/tcp] |
| ENV COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log |
| ENV JAVA_HOME=/opt/java/openjdk |
| ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| COPY /javaruntime /opt/java/openjdk # buildkit |
| COPY /war/jenkins.war /usr/share/jenkins/jenkins.war # buildkit |
| USER jenkins |
| COPY jenkins-support /usr/local/bin/jenkins-support # buildkit |
| COPY jenkins.sh /usr/local/bin/jenkins.sh # buildkit |
| COPY jenkins-plugin-cli.sh /bin/jenkins-plugin-cli # buildkit |
| ARG JENKINS_VERSION=2.555.1 |
| ENV JENKINS_VERSION=2.555.1 |
| ENTRYPOINT ["/usr/bin/tini" "--" "/usr/local/bin/jenkins.sh"] |
| LABEL org.opencontainers.image.vendor=Jenkins project org.opencontainers.image.title=Official Jenkins Docker image org.opencontainers.image.description=The Jenkins Continuous Integration and Delivery server org.opencontainers.image.version=2.555.1 org.opencontainers.image.url=https://www.jenkins.io/ org.opencontainers.image.source=https://github.com/jenkinsci/docker org.opencontainers.image.revision=0a6e573830c0c5dbc60fbbbd733d0abb5cf87627 org.opencontainers.image.licenses=MIT |
| ENV JAVA_OPTS=-Djenkins.install.runSetupWizard=false -Djava.awt.headless=true |
| ENV JENKINS_CI_YAML=/opt/ci.yaml |
| ENV JENKINS_PLUGIN_DIRECTORY=/usr/share/jenkins/ref/plugins |
| ENV JENKINS_PLUGIN_TXT_LOCATION=/usr/share/jenkins |
| ENV OUTPUT_DIR=/opt |
| USER root |
| RUN /bin/sh -c apt update && apt install jq python3 python3-pip -y --no-install-recommends # buildkit |
| RUN /bin/sh -c pip3 install pyyaml --break-system-packages # buildkit |
| RUN /bin/sh -c apt purge python3 python3-pip -y # buildkit |
| COPY ./plugins.txt /usr/share/jenkins/plugins.txt # buildkit |
| USER jenkins |
| RUN /bin/sh -c jenkins-plugin-cli -f $JENKINS_PLUGIN_TXT_LOCATION/plugins.txt # buildkit |