From 9b9c805d2f3fc618ba28db5ce86555b28553f391 Mon Sep 17 00:00:00 2001 From: Damien Duportal Date: Sat, 12 Nov 2022 18:39:28 +0100 Subject: [PATCH] feat(linux) add `curl` in the image and use Dockerfile's `ADD` directive to download remoting Signed-off-by: Damien Duportal --- 11/alpine/Dockerfile | 13 +++++-------- 11/archlinux/Dockerfile | 10 ++++------ 11/bullseye/Dockerfile | 10 ++++------ 17/alpine/Dockerfile | 10 ++++------ 17/bullseye/Dockerfile | 9 ++++----- 5 files changed, 21 insertions(+), 31 deletions(-) diff --git a/11/alpine/Dockerfile b/11/alpine/Dockerfile index ef1630d60..2e811640a 100644 --- a/11/alpine/Dockerfile +++ b/11/alpine/Dockerfile @@ -23,7 +23,6 @@ ARG JAVA_VERSION=11.0.17_8 FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-alpine -ARG VERSION=3071.v7e9b_0dc08466 ARG user=jenkins ARG group=jenkins ARG uid=1000 @@ -32,21 +31,19 @@ ARG gid=1000 RUN addgroup -g "${gid}" "${group}" \ && adduser -h /home/"${user}" -u "${uid}" -G "${group}" -D "${user}" -ARG AGENT_WORKDIR=/home/"${user}"/agent - ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' ## Always use the latest Alpine packages: no need for versions # hadolint ignore=DL3018 RUN apk add --no-cache curl bash git git-lfs musl-locales openssh-client openssl procps \ - && curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" \ - && chmod 755 /usr/share/jenkins \ - && chmod 644 /usr/share/jenkins/agent.jar \ - && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar \ - && apk del --purge curl \ && rm -rf /tmp/*.apk /tmp/gcc /tmp/gcc-libs.tar* /tmp/libz /tmp/libz.tar.xz /var/cache/apk/* +ARG VERSION=3071.v7e9b_0dc08466 +ADD --chown=jenkins:jenkins "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" /usr/share/jenkins/agent.jar +RUN ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar + USER "${user}" +ARG AGENT_WORKDIR=/home/"${user}"/agent ENV AGENT_WORKDIR="${AGENT_WORKDIR}" RUN mkdir /home/"${user}"/.jenkins && mkdir -p "${AGENT_WORKDIR}" diff --git a/11/archlinux/Dockerfile b/11/archlinux/Dockerfile index 0e315ac2d..8253a997b 100644 --- a/11/archlinux/Dockerfile +++ b/11/archlinux/Dockerfile @@ -36,7 +36,6 @@ RUN jlink \ FROM archlinux:base-20221106.0.100148 -ARG VERSION=3071.v7e9b_0dc08466 ARG user=jenkins ARG group=jenkins ARG uid=1000 @@ -47,12 +46,11 @@ RUN groupadd -g "${gid}" "${group}" \ ARG AGENT_WORKDIR=/home/"${user}"/agent -RUN pacman -Syu git git-lfs --noconfirm +RUN pacman -Syu curl git git-lfs --noconfirm -RUN curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" \ - && chmod 755 /usr/share/jenkins \ - && chmod 644 /usr/share/jenkins/agent.jar \ - && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar +ARG VERSION=3071.v7e9b_0dc08466 +ADD --chown=jenkins:jenkins "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" /usr/share/jenkins/agent.jar +RUN ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar ENV JAVA_HOME=/opt/java/openjdk ENV PATH "${JAVA_HOME}/bin:${PATH}" diff --git a/11/bullseye/Dockerfile b/11/bullseye/Dockerfile index 6cf627ccf..e104cf9d2 100644 --- a/11/bullseye/Dockerfile +++ b/11/bullseye/Dockerfile @@ -36,7 +36,6 @@ RUN jlink \ FROM debian:bullseye-20221024 -ARG VERSION=3071.v7e9b_0dc08466 ARG user=jenkins ARG group=jenkins ARG uid=1000 @@ -55,13 +54,12 @@ RUN apt-get update \ curl \ ca-certificates \ fontconfig \ - && curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar \ - && chmod 755 /usr/share/jenkins \ - && chmod 644 /usr/share/jenkins/agent.jar \ - && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar \ - && apt-get remove -y curl \ && rm -rf /var/lib/apt/lists/* +ARG VERSION=3071.v7e9b_0dc08466 +ADD --chown=jenkins:jenkins "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" /usr/share/jenkins/agent.jar +RUN ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar + ENV LANG C.UTF-8 ENV JAVA_HOME=/opt/java/openjdk diff --git a/17/alpine/Dockerfile b/17/alpine/Dockerfile index 962049729..02a9cf43d 100644 --- a/17/alpine/Dockerfile +++ b/17/alpine/Dockerfile @@ -22,7 +22,6 @@ ARG JAVA_VERSION=17.0.5_8 FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-alpine -ARG VERSION=3071.v7e9b_0dc08466 ARG user=jenkins ARG group=jenkins ARG uid=1000 @@ -38,13 +37,12 @@ ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' ## Always use the latest Alpine packages: no need for versions # hadolint ignore=DL3018 RUN apk add --no-cache curl bash git git-lfs musl-locales openssh-client openssl procps \ - && curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" \ - && chmod 755 /usr/share/jenkins \ - && chmod 644 /usr/share/jenkins/agent.jar \ - && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar \ - && apk del --purge curl \ && rm -rf /tmp/*.apk /tmp/gcc /tmp/gcc-libs.tar* /tmp/libz /tmp/libz.tar.xz /var/cache/apk/* +ARG VERSION=3071.v7e9b_0dc08466 +ADD --chown=jenkins:jenkins "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" /usr/share/jenkins/agent.jar +RUN ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar + USER "${user}" ENV AGENT_WORKDIR="${AGENT_WORKDIR}" RUN mkdir /home/"${user}"/.jenkins && mkdir -p "${AGENT_WORKDIR}" diff --git a/17/bullseye/Dockerfile b/17/bullseye/Dockerfile index a4776c670..3333f8ac4 100644 --- a/17/bullseye/Dockerfile +++ b/17/bullseye/Dockerfile @@ -64,13 +64,12 @@ RUN apt-get update \ curl \ ca-certificates \ fontconfig \ - && curl --create-dirs -fsSLo /usr/share/jenkins/agent.jar https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar \ - && chmod 755 /usr/share/jenkins \ - && chmod 644 /usr/share/jenkins/agent.jar \ - && ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar \ - && apt-get remove -y curl \ && rm -rf /var/lib/apt/lists/* +ARG VERSION=3071.v7e9b_0dc08466 +ADD --chown=jenkins:jenkins "https://repo.jenkins-ci.org/public/org/jenkins-ci/main/remoting/${VERSION}/remoting-${VERSION}.jar" /usr/share/jenkins/agent.jar +RUN ln -sf /usr/share/jenkins/agent.jar /usr/share/jenkins/slave.jar + ENV LANG C.UTF-8 ENV JAVA_HOME=/opt/java/openjdk