diff options
Diffstat (limited to '.cirrus/Dockerfile')
-rw-r--r-- | .cirrus/Dockerfile | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/.cirrus/Dockerfile b/.cirrus/Dockerfile new file mode 100644 index 00000000000..5828cd2fd23 --- /dev/null +++ b/.cirrus/Dockerfile @@ -0,0 +1,51 @@ +ARG JDK_VERSION=17 +FROM eclipse-temurin:${JDK_VERSION}-jdk-jammy + +ENV DEBIAN_FRONTEND=noninteractive + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +RUN set -o errexit -o nounset \ + && groupadd --system --gid 1000 sonarsource \ + && useradd --system --gid sonarsource --uid 1000 --shell /bin/bash --create-home sonarsource + +RUN echo 'Acquire::AllowReleaseInfoChange::Suite "true";' > /etc/apt/apt.conf.d/allow_release_info_change.conf + +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199#23 +RUN mkdir -p /usr/share/man/man1 \ + && apt-get update \ + && apt-get -y install --no-install-recommends \ + lsb-release \ + ca-certificates \ + curl \ + wget \ + gnupg \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +ARG NODE_MAJOR=18 +RUN DISTRO="$(lsb_release -s -c)" \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" >> /etc/apt/sources.list.d/nodesource.list \ + && curl -sSL https://packages.atlassian.com/api/gpg/key/public | gpg --dearmor -o /etc/apt/keyrings/atlassian.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/atlassian.gpg] https://packages.atlassian.com/debian/atlassian-sdk-deb/ stable contrib" >> /etc/apt/sources.list.d/atlassian-sdk.list \ + && curl -sSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /etc/apt/keyrings/adoptium-archive-keyring.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/adoptium-archive-keyring.gpg] https://packages.adoptium.net/artifactory/deb $DISTRO main" >> /etc/apt/sources.list.d/adoptopenjdk.list \ + && apt-get update \ + && apt-get -y install --no-install-recommends \ + git \ + unzip \ + nodejs="$NODE_MAJOR".* \ + jq \ + expect \ + atlassian-plugin-sdk \ + temurin-8-jdk \ + xmlstarlet \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && npm install -g yarn + +# Avoiding JVM Delays Caused by Random Number Generation (https://docs.oracle.com/cd/E13209_01/wlcp/wlss30/configwlss/jvmrand.html) +RUN sed -i 's|securerandom.source=file:/dev/random|securerandom.source=file:/dev/urandom|g' "$JAVA_HOME/conf/security/java.security" + +USER sonarsource +WORKDIR /home/sonarsource |