| # debian.sh --arch 'amd64' out/ 'trixie' '@1783900800' |
| ARG user=jenkins |
| ARG group=jenkins |
| ARG uid=1000 |
| ARG gid=1000 |
| ARG JENKINS_AGENT_HOME=/home/jenkins |
| ENV JENKINS_AGENT_HOME=/home/jenkins |
| ARG AGENT_WORKDIR=/home/jenkins/agent |
| ENV AGENT_WORKDIR=/home/jenkins/agent |
| RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c groupadd -g ${gid} ${group} && useradd -d "${JENKINS_AGENT_HOME}" -u "${uid}" -g "${gid}" -m -s /bin/bash "${user}" && mkdir -p "${JENKINS_AGENT_HOME}/.ssh/" "${AGENT_WORKDIR}" "${JENKINS_AGENT_HOME}/.jenkins" && chown -R "${uid}":"${gid}" "${JENKINS_AGENT_HOME}" "${AGENT_WORKDIR}" # buildkit |
| RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c apt-get update && apt-get install --no-install-recommends -y ca-certificates git less netcat-traditional openssh-server patch && rm -rf /var/lib/apt/lists/* && rm -f /etc/ssh/ssh_host*_key* # buildkit |
| COPY git-lfs.tgz git-lfs.tgz # buildkit |
| RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c tar xzf git-lfs.tgz && bash git-lfs-*/install.sh && rm -rf git-lfs* # buildkit |
| RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c sed -i /etc/ssh/sshd_config -e 's/#PermitRootLogin.*/PermitRootLogin no/' -e 's/#RSAAuthentication.*/RSAAuthentication yes/' -e 's/#PasswordAuthentication.*/PasswordAuthentication no/' -e 's/#SyslogFacility.*/SyslogFacility AUTH/' -e 's/#LogLevel.*/LogLevel INFO/' && mkdir -p /var/run/sshd && sed -i /etc/pam.d/sshd -e 's/\(session\s*\)required\(\s*pam_loginuid.so\)/\1optional\2/' -e '/pam_motd/s/^/#/' # buildkit |
| VOLUME [/home/jenkins/agent /home/jenkins/.jenkins /tmp /run /var/run] |
| WORKDIR /home/jenkins |
| ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 |
| 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 |
| RUN |6 user=jenkins group=jenkins uid=1000 gid=1000 JENKINS_AGENT_HOME=/home/jenkins AGENT_WORKDIR=/home/jenkins/agent /bin/sh -c echo "PATH=${PATH}" >> /etc/environment # buildkit |
| COPY setup-sshd /usr/local/bin/setup-sshd # buildkit |
| EXPOSE [22/tcp] |
| ENTRYPOINT ["setup-sshd"] |
| LABEL org.opencontainers.image.vendor=Jenkins project org.opencontainers.image.title=Official Jenkins SSH Agent Docker image org.opencontainers.image.description=A Jenkins agent image which allows using SSH to establish the connection org.opencontainers.image.url=https://www.jenkins.io/ org.opencontainers.image.source=https://github.com/jenkinsci/docker-ssh-agent org.opencontainers.image.licenses=MIT |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && curl -fsSL "https://api.adoptium.net/v3/binary/latest/25/ga/linux/x64/jdk/hotspot/normal/eclipse" -o /tmp/jdk.tar.gz && mkdir -p /opt/jdk25 && tar xzf /tmp/jdk.tar.gz -C /opt/jdk25 --strip-components=1 && rm /tmp/jdk.tar.gz && /opt/jdk25/bin/java --list-modules | grep -q '^java.sql' && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends git gnupg python3 python3-venv python3-pip && install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && chmod a+r /etc/apt/keyrings/docker.asc && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli && ln -s /usr/bin/python3 /usr/bin/python && curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz | tar xz -C /usr/local/bin oc kubectl && rm -rf /var/lib/apt/lists/* # buildkit |