From 120dee9fd30ddf18a9b9a88c252f377b0ccfae24 Mon Sep 17 00:00:00 2001 From: Damien Duportal Date: Sat, 12 Nov 2022 18:30:26 +0100 Subject: [PATCH] chore(shellcheck) use double quote around variables to support special chars Signed-off-by: Damien Duportal --- 11/alpine/Dockerfile | 22 ++++++------ 11/archlinux/Dockerfile | 36 +++++++++---------- 11/bullseye/Dockerfile | 32 ++++++++--------- 11/windows/nanoserver-1809/Dockerfile | 10 +++--- .../windowsservercore-ltsc2019/Dockerfile | 8 ++--- 17/alpine/Dockerfile | 22 ++++++------ 17/bullseye/Dockerfile | 36 +++++++++---------- 17/windows/nanoserver-1809/Dockerfile | 10 +++--- .../windowsservercore-ltsc2019/Dockerfile | 8 ++--- 9 files changed, 92 insertions(+), 92 deletions(-) diff --git a/11/alpine/Dockerfile b/11/alpine/Dockerfile index a429161d7..e9b46ec56 100644 --- a/11/alpine/Dockerfile +++ b/11/alpine/Dockerfile @@ -21,7 +21,7 @@ # THE SOFTWARE. ARG JAVA_VERSION=11.0.17_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-alpine +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-alpine ARG VERSION=3071.v7e9b_0dc08466 ARG user=jenkins @@ -29,30 +29,30 @@ ARG group=jenkins ARG uid=1000 ARG gid=1000 -RUN addgroup -g ${gid} ${group} \ - && adduser -h /home/${user} -u ${uid} -G ${group} -D ${user} +RUN addgroup -g "${gid}" "${group}" \ + && adduser -h /home/"${user}" -u "${uid}" -G "${group}" -D "${user}" -ARG AGENT_WORKDIR=/home/${user}/agent +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 --update --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 \ + && 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/* -USER ${user} -ENV AGENT_WORKDIR=${AGENT_WORKDIR} -RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} +USER "${user}" +ENV AGENT_WORKDIR="${AGENT_WORKDIR}" +RUN mkdir /home/"${user}"/.jenkins && mkdir -p "${AGENT_WORKDIR}" -VOLUME /home/${user}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR /home/${user} +VOLUME /home/"${user}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR /home/"${user}" LABEL \ org.opencontainers.image.vendor="Jenkins project" \ diff --git a/11/archlinux/Dockerfile b/11/archlinux/Dockerfile index 9c65e86e0..0e315ac2d 100644 --- a/11/archlinux/Dockerfile +++ b/11/archlinux/Dockerfile @@ -21,18 +21,18 @@ # THE SOFTWARE. ARG JAVA_VERSION=11.0.17_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-focal AS jre-build +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-focal AS jre-build # Generate smaller java runtime without unneeded files # for now we include the full module path to maintain compatibility # while still saving space (approx 200mb from the full distribution) RUN jlink \ - --add-modules ALL-MODULE-PATH \ - --strip-debug \ - --no-man-pages \ - --no-header-files \ - --compress=2 \ - --output /javaruntime + --add-modules ALL-MODULE-PATH \ + --strip-debug \ + --no-man-pages \ + --no-header-files \ + --compress=2 \ + --output /javaruntime FROM archlinux:base-20221106.0.100148 @@ -42,29 +42,29 @@ ARG group=jenkins ARG uid=1000 ARG gid=1000 -RUN groupadd -g ${gid} ${group} \ - && useradd -l -c "Jenkins user" -d /home/${user} -u ${uid} -g ${gid} -m ${user} +RUN groupadd -g "${gid}" "${group}" \ + && useradd -l -c "Jenkins user" -d /home/"${user}" -u "${uid}" -g "${gid}" -m "${user}" -ARG AGENT_WORKDIR=/home/${user}/agent +ARG AGENT_WORKDIR=/home/"${user}"/agent RUN pacman -Syu 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 \ +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 ENV JAVA_HOME=/opt/java/openjdk ENV PATH "${JAVA_HOME}/bin:${PATH}" -COPY --from=jre-build /javaruntime $JAVA_HOME +COPY --from=jre-build /javaruntime "$JAVA_HOME" -USER ${user} -ENV AGENT_WORKDIR=${AGENT_WORKDIR} -RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} +USER "${user}" +ENV AGENT_WORKDIR="${AGENT_WORKDIR}" +RUN mkdir /home/"${user}"/.jenkins && mkdir -p "${AGENT_WORKDIR}" -VOLUME /home/${user}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR /home/${user} +VOLUME /home/"${user}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR /home/"${user}" LABEL \ org.opencontainers.image.vendor="Jenkins project" \ diff --git a/11/bullseye/Dockerfile b/11/bullseye/Dockerfile index 3bf39c0a7..2bc3b76d1 100644 --- a/11/bullseye/Dockerfile +++ b/11/bullseye/Dockerfile @@ -21,18 +21,18 @@ # THE SOFTWARE. ARG JAVA_VERSION=11.0.17_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-focal AS jre-build +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-focal AS jre-build # Generate smaller java runtime without unneeded files # for now we include the full module path to maintain compatibility # while still saving space (approx 200mb from the full distribution) RUN jlink \ - --add-modules ALL-MODULE-PATH \ - --strip-debug \ - --no-man-pages \ - --no-header-files \ - --compress=2 \ - --output /javaruntime + --add-modules ALL-MODULE-PATH \ + --strip-debug \ + --no-man-pages \ + --no-header-files \ + --compress=2 \ + --output /javaruntime FROM debian:bullseye-20221024 @@ -42,8 +42,8 @@ ARG group=jenkins ARG uid=1000 ARG gid=1000 -RUN groupadd -g ${gid} ${group} \ - && useradd -l -c "Jenkins user" -d /home/${user} -u ${uid} -g ${gid} -m ${user} +RUN groupadd -g "${gid}" "${group}" \ + && useradd -l -c "Jenkins user" -d /home/${user} -u "${uid}" -g "${gid}" -m "${user}" ARG AGENT_WORKDIR=/home/${user}/agent @@ -65,15 +65,15 @@ ENV LANG C.UTF-8 ENV JAVA_HOME=/opt/java/openjdk ENV PATH "${JAVA_HOME}/bin:${PATH}" -COPY --from=jre-build /javaruntime $JAVA_HOME +COPY --from=jre-build /javaruntime "$JAVA_HOME" -USER ${user} -ENV AGENT_WORKDIR=${AGENT_WORKDIR} -RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} +USER "${user}" +ENV AGENT_WORKDIR="${AGENT_WORKDIR}" +RUN mkdir /home/${user}/.jenkins && mkdir -p "${AGENT_WORKDIR}" -VOLUME /home/${user}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR /home/${user} +VOLUME /home/"${user}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR /home/"${user}" LABEL \ org.opencontainers.image.vendor="Jenkins project" \ diff --git a/11/windows/nanoserver-1809/Dockerfile b/11/windows/nanoserver-1809/Dockerfile index 94d31e731..033e9d156 100644 --- a/11/windows/nanoserver-1809/Dockerfile +++ b/11/windows/nanoserver-1809/Dockerfile @@ -22,12 +22,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. ARG JAVA_VERSION=11.0.17_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-windowsservercore-1809 AS core +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-windowsservercore-1809 AS core # If you pass in a POWERSHELL_VERSION, make sure it ends with a hyphen, leaving it empty will # use the 'latest' ARG POWERSHELL_VERSION= -FROM mcr.microsoft.com/powershell:${POWERSHELL_VERSION}nanoserver-1809 +FROM mcr.microsoft.com/powershell:"${POWERSHELL_VERSION}nanoserver-1809" ARG JAVA_VERSION=11.0.17_8 ARG JAVA_HOME="C:\openjdk-11" @@ -93,9 +93,9 @@ RUN New-Item -Type Directory $('{0}/.jenkins' -f $env:AGENT_ROOT) | Out-Null ; ` RUN git config --global core.longpaths true -VOLUME ${AGENT_ROOT}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR ${AGENT_ROOT} +VOLUME "${AGENT_ROOT}/.jenkins" +VOLUME "${AGENT_WORKDIR}" +WORKDIR "${AGENT_ROOT}" LABEL ` org.opencontainers.image.vendor="Jenkins project" ` diff --git a/11/windows/windowsservercore-ltsc2019/Dockerfile b/11/windows/windowsservercore-ltsc2019/Dockerfile index d3fe7b6c4..8b38ee542 100644 --- a/11/windows/windowsservercore-ltsc2019/Dockerfile +++ b/11/windows/windowsservercore-ltsc2019/Dockerfile @@ -23,7 +23,7 @@ # THE SOFTWARE. ARG JAVA_VERSION=11.0.17_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-windowsservercore-1809 +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-windowsservercore-1809 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] @@ -79,9 +79,9 @@ RUN New-Item -Type Directory $('{0}/.jenkins' -f $env:AGENT_ROOT) | Out-Null ; ` RUN git config --global core.longpaths true -VOLUME ${AGENT_ROOT}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR ${AGENT_ROOT} +VOLUME "${AGENT_ROOT}/.jenkins" +VOLUME "${AGENT_WORKDIR}" +WORKDIR "${AGENT_ROOT}" LABEL ` org.opencontainers.image.vendor="Jenkins project" ` diff --git a/17/alpine/Dockerfile b/17/alpine/Dockerfile index 877948e15..8b293f7c0 100644 --- a/17/alpine/Dockerfile +++ b/17/alpine/Dockerfile @@ -20,7 +20,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. ARG JAVA_VERSION=17.0.5_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-alpine +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-alpine ARG VERSION=3071.v7e9b_0dc08466 ARG user=jenkins @@ -28,30 +28,30 @@ ARG group=jenkins ARG uid=1000 ARG gid=1000 -RUN addgroup -g ${gid} ${group} \ - && adduser -h /home/${user} -u ${uid} -G ${group} -D ${user} +RUN addgroup -g "${gid}" "${group}" \ + && adduser -h /home/"${user}" -u "${uid}" -G "${group}" -D "${user}" -ARG AGENT_WORKDIR=/home/${user}/agent +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 --update --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 \ + && 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/* -USER ${user} -ENV AGENT_WORKDIR=${AGENT_WORKDIR} -RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} +USER "${user}" +ENV AGENT_WORKDIR="${AGENT_WORKDIR}" +RUN mkdir /home/"${user}"/.jenkins && mkdir -p "${AGENT_WORKDIR}" -VOLUME /home/${user}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR /home/${user} +VOLUME /home/"${user}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR /home/"${user}" LABEL \ org.opencontainers.image.vendor="Jenkins project" \ diff --git a/17/bullseye/Dockerfile b/17/bullseye/Dockerfile index 21d55c929..53661fb4f 100644 --- a/17/bullseye/Dockerfile +++ b/17/bullseye/Dockerfile @@ -26,22 +26,22 @@ # The jmods error above gets generated each time. # Better to have a larger image than incorrect java binaries in 32bit arm. ARG JAVA_VERSION=17.0.5_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-focal AS arm32-jre-build +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-focal AS arm32-jre-build RUN cp -r /opt/java/openjdk /javaruntime ARG JAVA_VERSION=17.0.5_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-focal AS jre-build +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-focal AS jre-build # Generate smaller java runtime without unneeded files # for now we include the full module path to maintain compatibility # while still saving space (approx 200mb from the full distribution) RUN jlink \ - --add-modules ALL-MODULE-PATH \ - --strip-java-debug-attributes \ - --no-man-pages \ - --no-header-files \ - --compress=2 \ - --output /javaruntime + --add-modules ALL-MODULE-PATH \ + --strip-java-debug-attributes \ + --no-man-pages \ + --no-header-files \ + --compress=2 \ + --output /javaruntime FROM debian:bullseye-20221024 AS build @@ -51,10 +51,10 @@ ARG group=jenkins ARG uid=1000 ARG gid=1000 -RUN groupadd -g ${gid} ${group} \ - && useradd -l -c "Jenkins user" -d /home/${user} -u ${uid} -g ${gid} -m ${user} +RUN groupadd -g "${gid}" "${group}" \ + && useradd -l -c "Jenkins user" -d /home/"${user}" -u "${uid}" -g "${gid}" -m "${user}" -ARG AGENT_WORKDIR=/home/${user}/agent +ARG AGENT_WORKDIR=/home/"${user}"/agent ## Always use the latest Alpine packages: no need for versions # hadolint ignore=DL3008 @@ -75,13 +75,13 @@ ENV LANG C.UTF-8 ENV JAVA_HOME=/opt/java/openjdk ENV PATH "${JAVA_HOME}/bin:${PATH}" -USER ${user} +USER "${user}" ENV AGENT_WORKDIR=${AGENT_WORKDIR} -RUN mkdir /home/${user}/.jenkins && mkdir -p ${AGENT_WORKDIR} +RUN mkdir /home/${user}/.jenkins && mkdir -p "${AGENT_WORKDIR}" -VOLUME /home/${user}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR /home/${user} +VOLUME /home/"${user}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR /home/"${user}" LABEL \ org.opencontainers.image.vendor="Jenkins project" \ @@ -93,7 +93,7 @@ LABEL \ org.opencontainers.image.licenses="MIT" FROM build AS default -COPY --from=jre-build /javaruntime $JAVA_HOME +COPY --from=jre-build /javaruntime "$JAVA_HOME" FROM build AS arm32 -COPY --from=arm32-jre-build /javaruntime $JAVA_HOME +COPY --from=arm32-jre-build /javaruntime "$JAVA_HOME" diff --git a/17/windows/nanoserver-1809/Dockerfile b/17/windows/nanoserver-1809/Dockerfile index e63eb1b25..4401976f6 100644 --- a/17/windows/nanoserver-1809/Dockerfile +++ b/17/windows/nanoserver-1809/Dockerfile @@ -22,12 +22,12 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. ARG JAVA_VERSION=17.0.5_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-windowsservercore-1809 AS core +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-windowsservercore-1809 AS core # If you pass in a POWERSHELL_VERSION, make sure it ends with a hyphen, leaving it empty will # use the 'latest' ARG POWERSHELL_VERSION= -FROM mcr.microsoft.com/powershell:${POWERSHELL_VERSION}nanoserver-1809 +FROM mcr.microsoft.com/powershell:"${POWERSHELL_VERSION}nanoserver-1809" ARG JAVA_VERSION=17.0.5_8 ARG JAVA_HOME="C:\openjdk-17" @@ -93,9 +93,9 @@ RUN New-Item -Type Directory $('{0}/.jenkins' -f $env:AGENT_ROOT) | Out-Null ; ` RUN git config --global core.longpaths true -VOLUME ${AGENT_ROOT}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR ${AGENT_ROOT} +VOLUME "${AGENT_ROOT}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR "${AGENT_ROOT}" LABEL ` org.opencontainers.image.vendor="Jenkins project" ` diff --git a/17/windows/windowsservercore-ltsc2019/Dockerfile b/17/windows/windowsservercore-ltsc2019/Dockerfile index 23cfbdabb..145dea08f 100644 --- a/17/windows/windowsservercore-ltsc2019/Dockerfile +++ b/17/windows/windowsservercore-ltsc2019/Dockerfile @@ -23,7 +23,7 @@ # THE SOFTWARE. ARG JAVA_VERSION=17.0.5_8 -FROM eclipse-temurin:${JAVA_VERSION}-jdk-windowsservercore-1809 +FROM eclipse-temurin:"${JAVA_VERSION}"-jdk-windowsservercore-1809 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] @@ -79,9 +79,9 @@ RUN New-Item -Type Directory $('{0}/.jenkins' -f $env:AGENT_ROOT) | Out-Null ; ` RUN git config --global core.longpaths true -VOLUME ${AGENT_ROOT}/.jenkins -VOLUME ${AGENT_WORKDIR} -WORKDIR ${AGENT_ROOT} +VOLUME "${AGENT_ROOT}"/.jenkins +VOLUME "${AGENT_WORKDIR}" +WORKDIR "${AGENT_ROOT}" LABEL ` org.opencontainers.image.vendor="Jenkins project" `