Skip to content

Commit

Permalink
chore(shellcheck) use double quote around variables to support specia…
Browse files Browse the repository at this point in the history
…l chars

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
  • Loading branch information
dduportal committed Nov 12, 2022
1 parent e89d9d4 commit 120dee9
Show file tree
Hide file tree
Showing 9 changed files with 92 additions and 92 deletions.
22 changes: 11 additions & 11 deletions 11/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,38 +21,38 @@
# 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
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" \
Expand Down
36 changes: 18 additions & 18 deletions 11/archlinux/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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" \
Expand Down
32 changes: 16 additions & 16 deletions 11/bullseye/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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

Expand All @@ -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" \
Expand Down
10 changes: 5 additions & 5 deletions 11/windows/nanoserver-1809/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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" `
Expand Down
8 changes: 4 additions & 4 deletions 11/windows/windowsservercore-ltsc2019/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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';"]

Expand Down Expand Up @@ -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" `
Expand Down
22 changes: 11 additions & 11 deletions 17/alpine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,38 +20,38 @@
# 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
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" \
Expand Down
36 changes: 18 additions & 18 deletions 17/bullseye/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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
Expand All @@ -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" \
Expand All @@ -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"
10 changes: 5 additions & 5 deletions 17/windows/nanoserver-1809/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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" `
Expand Down
Loading

0 comments on commit 120dee9

Please sign in to comment.