50 lines
1.8 KiB
Docker
50 lines
1.8 KiB
Docker
FROM jenkins/inbound-agent:latest-trixie-jdk17 AS jnlp
|
|
|
|
# USER jenkins
|
|
USER root
|
|
RUN apt-get update && \
|
|
apt-get install -y ca-certificates curl pkg-config python3.13 python3.13-venv python3-dev python3-pip \
|
|
python3-setuptools
|
|
|
|
ADD https://www.princexml.com/download/prince_16.1-1_ubuntu24.04_amd64.deb /root
|
|
RUN apt-get install -y ./prince_16.1-1_ubuntu24.04_amd64.deb && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
|
|
|
|
ARG DOCKER_VERSION=24.0.6
|
|
ARG DOCKER_COMPOSE_VERSION=1.21.0
|
|
ARG DOCKER_BUILDX_VERSION=0.30.1
|
|
ADD https://download.docker.com/linux/static/stable/`uname -m`/docker-$DOCKER_VERSION.tgz /root/
|
|
RUN tar --strip-components=1 -xz -C /usr/local/bin docker/docker -f "/root/docker-$DOCKER_VERSION.tgz"
|
|
ADD "https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_VERSION/docker-compose-`uname -s`-`uname -m`" /root/docker-compose
|
|
RUN chmod +x /usr/local/bin/docker-compose
|
|
|
|
# Enable buildx plugin
|
|
## buildx is released as amd64, and uname calls it x86_64
|
|
RUN uname -m > /tmp/arch \
|
|
&& sed -i 's/x86_64/amd64/g' /tmp/arch \
|
|
&& mkdir -p /usr/libexec/docker/cli-plugins/ \
|
|
&& url -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 \
|
|
&& chmod +x /usr/libexec/docker/cli-plugins/docker-buildx \
|
|
&& docker buildx install \
|
|
&& rm /tmp/arch
|
|
|
|
# RUN docker buildx create \
|
|
# --name jenkinsbuilder \
|
|
# --driver docker-container \
|
|
# --bootstrap --use
|
|
|
|
RUN groupadd docker
|
|
RUN usermod -aG docker jenkins
|
|
|
|
COPY ca-chain.crt /usr/local/share/ca-certificates/ca-chain.crt
|
|
RUN /usr/sbin/update-ca-certificates
|
|
|
|
USER jenkins
|
|
|
|
RUN mkdir "$HOME/.ssh/"" \
|
|
&& touch "$HOME/.ssh/known_hosts" \
|
|
&& ssh-keyscan github.com >> ~/.ssh/known_hosts
|
|
|
|
ENTRYPOINT ["/usr/local/bin/jenkins-agent"]
|