| # debian.sh --arch 'amd64' out/ 'trixie' '@1776729600' |
| SHELL [/bin/bash -e -u -o pipefail -c] |
| ARG user=jenkins |
| ARG group=jenkins |
| ARG uid=1000 |
| ARG gid=1000 |
| RUN |4 user=jenkins group=jenkins uid=1000 gid=1000 /bin/bash -e -u -o pipefail -c groupadd -g "${gid}" "${group}" && useradd -l -c "Jenkins user" -d /home/"${user}" -u "${uid}" -g "${gid}" -m "${user}" || echo "user ${user} already exists." # buildkit |
| ARG AGENT_WORKDIR=/home/jenkins/agent |
| ENV TZ=Etc/UTC |
| RUN |5 user=jenkins group=jenkins uid=1000 gid=1000 AGENT_WORKDIR=/home/jenkins/agent /bin/bash -e -u -o pipefail -c apt-get update && apt-get --yes --no-install-recommends install ca-certificates curl fontconfig git less netbase openssh-client patch tzdata && apt-get clean && rm -rf /tmp/* /var/cache/* /var/lib/apt/lists/* # buildkit |
| ARG VERSION=3355.v388858a_47b_33 |
| ADD --chown=jenkins:jenkins https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/3355.v388858a_47b_33/remoting-3355.v388858a_47b_33.jar /usr/share/jenkins/agent.jar # buildkit |
| RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 AGENT_WORKDIR=/home/jenkins/agent VERSION=3355.v388858a_47b_33 /bin/bash -e -u -o pipefail -c chmod 0644 /usr/share/jenkins/agent.jar && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar # buildkit |
| ARG GIT_LFS_VERSION=3.7.1 |
| RUN |7 user=jenkins group=jenkins uid=1000 gid=1000 AGENT_WORKDIR=/home/jenkins/agent VERSION=3355.v388858a_47b_33 GIT_LFS_VERSION=3.7.1 /bin/bash -e -u -o pipefail -c arch=$(uname -m | sed -e 's/x86_64/amd64/g' -e 's/aarch64/arm64/g' -e 's/armv7l/arm/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 && git lfs install --skip-repo --system && rm -rf git-lfs* # buildkit |
| ENV LANG=C.UTF-8 |
| ENV JAVA_HOME=/opt/java/openjdk |
| COPY /javaruntime /opt/java/openjdk # buildkit |
| ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| USER jenkins |
| ENV AGENT_WORKDIR=/home/jenkins/agent |
| RUN |7 user=jenkins group=jenkins uid=1000 gid=1000 AGENT_WORKDIR=/home/jenkins/agent VERSION=3355.v388858a_47b_33 GIT_LFS_VERSION=3.7.1 /bin/bash -e -u -o pipefail -c mkdir -p /home/"${user}"/.jenkins && mkdir -p "${AGENT_WORKDIR}" # buildkit |
| VOLUME [/home/jenkins/.jenkins] |
| VOLUME [/home/jenkins/agent] |
| WORKDIR /home/jenkins |
| ENV USER=jenkins |
| LABEL org.opencontainers.image.vendor=Jenkins project org.opencontainers.image.title=Official Jenkins Agent Base Docker image org.opencontainers.image.description=This is a base image, which provides the Jenkins agent executable (agent.jar) org.opencontainers.image.version=3355.v388858a_47b_33 org.opencontainers.image.url=https://www.jenkins.io/ org.opencontainers.image.source=https://github.com/jenkinsci/docker-agents org.opencontainers.image.licenses=MIT |
| ARG user=jenkins |
| USER root |
| COPY ../../jenkins-agent /usr/local/bin/jenkins-agent # buildkit |
| RUN |7 user=jenkins group=jenkins uid=1000 gid=1000 AGENT_WORKDIR=/home/jenkins/agent VERSION=3355.v388858a_47b_33 GIT_LFS_VERSION=3.7.1 /bin/bash -e -u -o pipefail -c chmod +x /usr/local/bin/jenkins-agent && ln -s /usr/local/bin/jenkins-agent /usr/local/bin/jenkins-slave # buildkit |
| USER jenkins |
| LABEL org.opencontainers.image.vendor=Jenkins project org.opencontainers.image.title=Official Jenkins Inbound Agent Base Docker image org.opencontainers.image.description=This is an image for Jenkins agents using TCP or WebSockets to establish inbound connection to the Jenkins controller org.opencontainers.image.version=3355.v388858a_47b_33 org.opencontainers.image.url=https://www.jenkins.io/ org.opencontainers.image.source=https://github.com/jenkinsci/docker-agents org.opencontainers.image.licenses=MIT |
| ENTRYPOINT ["/usr/local/bin/jenkins-agent"] |
| USER root |
| RUN /bin/bash -e -u -o pipefail -c apt-get update && apt-get -y install ca-certificates curl net-tools pkg-config python3-dev python3-pip python3-setuptools python3.13 python3.13-venv python3-netaddr && apt -y install gdebi && curl -O https://www.princexml.com/download/prince_16.2-1_debian13_amd64.deb && gdebi --n ./prince_16.2-1_debian13_amd64.deb && apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* # buildkit |
| ARG DOCKER_VERSION=29.1.3 |
| ARG DOCKER_COMPOSE_VERSION=2.40.3 |
| ARG DOCKER_BUILDX_VERSION=0.30.1 |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c curl -fsSL https://download.docker.com/linux/static/stable/$(uname -m)/docker-$DOCKER_VERSION.tgz | tar --strip-components=1 -xz -C /usr/local/bin docker/docker # buildkit |
| ADD https://download.docker.com/linux/debian/dists/bookworm/pool/stable/amd64/docker-compose-plugin_2.40.3-1~debian.12~bookworm_amd64.deb . # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c gdebi --n ./docker-compose-plugin_2.40.3-1~debian.12~bookworm_amd64.deb # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c uname -m > /tmp/arch && sed -i 's/x86_64/amd64/g' /tmp/arch && mkdir -p /usr/libexec/docker/cli-plugins/ # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c curl -fsSL "https://github.com/docker/buildx/releases/download/v$DOCKER_BUILDX_VERSION/buildx-v$DOCKER_BUILDX_VERSION.linux-$(cat /tmp/arch)" > /usr/libexec/docker/cli-plugins/docker-buildx # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c chmod +x /usr/libexec/docker/cli-plugins/docker-buildx && docker buildx install && rm /tmp/arch # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c curl -LsSf https://astral.sh/uv/install.sh | sh # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c groupadd -g 988 docker && usermod -aG docker jenkins # buildkit |
| COPY ca-chain.crt /usr/local/share/ca-certificates/ca-chain.crt # buildkit |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c /usr/sbin/update-ca-certificates # buildkit |
| USER jenkins |
| RUN |3 DOCKER_VERSION=29.1.3 DOCKER_COMPOSE_VERSION=2.40.3 DOCKER_BUILDX_VERSION=0.30.1 /bin/bash -e -u -o pipefail -c mkdir "$HOME/.ssh/" && touch $HOME/.ssh/known_hosts && ssh-keyscan github.com >> ~/.ssh/known_hosts # buildkit |
| ENTRYPOINT ["/usr/local/bin/jenkins-agent"] |