diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d565f921..b5864da66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,14 @@ # Changelog ## 2024 -* `jan-feb` +* `feb` + * updated images: fixes of sources.list, java install logic, updated `python 3.12` iamges + * added `bitbucket`, `nodejs21`,`nextcloud 28`, `python 3.13` images + * added `pnpm` to `nodejs 12-21` images + * fixed `java` images, + * added `maven`, `gradle`, `kotlin` to compatible `java 8+` images. +* `jan` * new versions of images * CVE-2023-22527 - RCE (Remote Code Execution) Vulnerability In Confluence Data Center and Confluence Server - * updated images: fixes of sources.list, java install logic, updated pyton 3.12 and 3.13 - * added `bitbucket`, `nextcloud` images ## 2023 * `sep-oct-nov-dec` * `nextcloud` upgrade diff --git a/Makefile b/Makefile index dfb79c558..a9ddfa369 100644 --- a/Makefile +++ b/Makefile @@ -588,6 +588,7 @@ ecosystem-nodejs-images: cd `pwd`/linux/ecosystem/nodejs/node18 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/nodejs/node19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/nodejs/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/nodejs/node21 && pwd && make build && make deploy ecosystem-ninjam-image: cd `pwd`/linux/ecosystem/ninjam/latest && pwd && make build && make deploy @@ -650,6 +651,7 @@ ecosystem-teamcity-agent-images: cd `pwd`/linux/ecosystem/teamcity/agent/node18 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/teamcity/agent/node21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php7.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php7.3 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/teamcity/agent/php7.4 && pwd && make build && make deploy @@ -674,6 +676,7 @@ ecosystem-gitlab-runner-images: cd `pwd`/linux/ecosystem/gitlab/runner/node18 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/node19 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/gitlab/runner/node21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/php7.2 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/php7.3 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/gitlab/runner/php7.4 && pwd && make build && make deploy diff --git a/linux/advanced/teamcity/server/Dockerfile b/linux/advanced/teamcity/server/Dockerfile index 0efd97273..1ace198e9 100644 --- a/linux/advanced/teamcity/server/Dockerfile +++ b/linux/advanced/teamcity/server/Dockerfile @@ -23,6 +23,12 @@ USER root COPY sources.list /etc/apt/sources.list COPY locale.gen /etc/locale.gen +################################################################## +# 7z official binary +################################################################## +ENV SZ_VERSION=7z2301 +ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz + ################################################################## # perforce client binary ################################################################## @@ -80,6 +86,71 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio wget \ zip +################################################################## +# Install 7z official binary +################################################################## +RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \ + mkdir -p /tmp/7z && \ + tar -xf /tmp/7z.tar.xz -C /tmp/7z && \ + chmod +x /tmp/7z/7zz && \ + mv -fv /tmp/7z/7zz /usr/bin/ && \ + 7zz | head -4 && \ + 7z | head -4 + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # Install p4client ################################################################## diff --git a/linux/advanced/vscode-server/android/Dockerfile b/linux/advanced/vscode-server/android/Dockerfile index 2b2551cb8..63b16e475 100644 --- a/linux/advanced/vscode-server/android/Dockerfile +++ b/linux/advanced/vscode-server/android/Dockerfile @@ -14,22 +14,6 @@ ENV BuildDocker true ENV ANDROID_HOME=/usr/lib/android-sdk ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk -ENV GRADLE_VERSION=7.4.2 -ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip -ENV GRADLE_ROOT=/opt/gradle -ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} -ENV GRADLE_BIN=$GRADLE_PATH/bin -ARG GRADLE_TEMP=/tmp/gradle.zip - -ENV KTC_VERSION=1.6.21 -ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip -ARG KTC_TEMP=/tmp/kotlinc.tgz -ENV KTC_ROOT=/opt/kotlin -ENV KTC_PATH=${KTC_ROOT}/kotlinc -ENV KTC_BIN=$KTC_PATH/bin - -ENV PATH=PATH=$PATH:$GRADLE_BIN:${KTC_BIN} - ################################################################## # installing java11 ################################################################## @@ -44,36 +28,72 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a java -version ################################################################## -# Android SDK +# Additional settings ################################################################## -RUN apt update && \ - apt install -y --allow-unauthenticated \ - android-sdk \ - android-sdk-build-tools \ - android-sdk-platform-tools-common \ - android-sdk-platform-tools \ - adb fastboot f2fs-tools e2fsprogs libsqlite3-0 sqlite3 +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip -# Activate android sdk -RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licenses/android-sdk-license +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v ################################################################## # GRADLE ################################################################## -RUN mkdir -p $GRADLE_PATH -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue $GRADLE_LINK -O $GRADLE_TEMP -RUN 7zz x $GRADLE_TEMP -o$GRADLE_ROOT -RUN chmod +x -R $GRADLE_BIN +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v ################################################################## # KOTLIN ################################################################## -RUN mkdir -p ${KTC_PATH} -RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${KTC_LINK} -O ${KTC_TEMP} -RUN 7zz x $KTC_TEMP -o$KTC_ROOT +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} -RUN kotlinc -version +RUN kotlin -version + +################################################################## +# Android SDK +################################################################## +RUN apt update && \ + apt install -y --allow-unauthenticated \ + android-sdk \ + android-sdk-build-tools \ + android-sdk-platform-tools-common \ + android-sdk-platform-tools \ + adb fastboot f2fs-tools e2fsprogs libsqlite3-0 sqlite3 + +# Activate android sdk +RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licenses/android-sdk-license ################################################################## # cleaninig up diff --git a/linux/advanced/vscode-server/latest/Dockerfile b/linux/advanced/vscode-server/latest/Dockerfile index fb3ec0400..fffa1207c 100644 --- a/linux/advanced/vscode-server/latest/Dockerfile +++ b/linux/advanced/vscode-server/latest/Dockerfile @@ -31,7 +31,7 @@ ENV BuildDocker true ################################################################## # 7z official binary ################################################################## -ENV SZ_VERSION=7z2107 +ENV SZ_VERSION=7z2301 ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz ################################################################## @@ -119,7 +119,6 @@ RUN wget -nv --random-wait -c -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \ 7zz | head -4 && \ 7z | head -4 - ################################################################## # Install GitHub CLI binary ################################################################## diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile index 394f066da..fc5c6632f 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile @@ -51,7 +51,7 @@ ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop index cd433546b..5bbd02a7f 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk11/Dockerfile.develop @@ -51,7 +51,7 @@ ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile index c6e750bb8..47192f6b6 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile @@ -50,7 +50,7 @@ ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -58,7 +58,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -66,7 +66,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop index d09ba0ad7..9bcdfb975 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk17/Dockerfile.develop @@ -51,7 +51,7 @@ ENV MAVEN_HOME=${MAVEN_ROOT} ENV M2_HOME=${MAVEN_ROOT} RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} -RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN 7z x ${MAVEN_TEMP} -o${MAVEN_ROOT} RUN chmod +x -R ${MAVEN_BIN} RUN mvn -v @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile index 948c9a647..d3578c6ee 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop index 275f03e97..a58d0fa93 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk18/Dockerfile.develop @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile index 3f9c4acda..b0c06bcd8 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop index 062258f68..43eb3168d 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk19/Dockerfile.develop @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile index df52509f1..1f35ba8b8 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop index 9fd0b94e4..2f86363c4 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk20/Dockerfile.develop @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile index 1171f1959..eb3776c66 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop index f0a85f8c3..e6602d231 100644 --- a/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/08-jessie/jdk21/Dockerfile.develop @@ -59,7 +59,7 @@ RUN mvn -v # GRADLE ################################################################## RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} -RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN 7z x ${GRADLE_TEMP} -o${GRADLE_ROOT} RUN chmod +x -R ${GRADLE_BIN} RUN gradle -v @@ -67,7 +67,7 @@ RUN gradle -v # KOTLIN ################################################################## RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} -RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN 7z x $KTC_TEMP -o${KTC_ROOT} RUN chmod +x -R ${KTC_BIN} RUN kotlin -version diff --git a/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile b/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile index 280fe6019..3d4f94f05 100644 --- a/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile +++ b/linux/ecosystem/gitlab/runner/android-sdk/jdk11/Dockerfile @@ -19,6 +19,59 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-11-jdk-amd64/bin/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/bin && \ ln -s /usr/lib/jvm/temurin-11-jdk-amd64/lib/ /usr/lib/jvm/temurin-11-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version ################################################################## # Android SDK diff --git a/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile b/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile index 3a084c2da..9e7bf1a28 100644 --- a/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile +++ b/linux/ecosystem/gitlab/runner/android-sdk/jdk17/Dockerfile @@ -20,6 +20,60 @@ RUN wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | a ln -s /usr/lib/jvm/temurin-17-jdk-amd64/lib/ /usr/lib/jvm/temurin-17-jdk-amd64/jre/lib && \ java -version +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # Android SDK ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node12/Dockerfile b/linux/ecosystem/gitlab/runner/node12/Dockerfile index c5af56287..0d92d36b7 100644 --- a/linux/ecosystem/gitlab/runner/node12/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node12/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node14/Dockerfile b/linux/ecosystem/gitlab/runner/node14/Dockerfile index 648bcf55a..a11cb18d3 100644 --- a/linux/ecosystem/gitlab/runner/node14/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node14/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node15/Dockerfile b/linux/ecosystem/gitlab/runner/node15/Dockerfile index b061bccf7..648ae807a 100644 --- a/linux/ecosystem/gitlab/runner/node15/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node15/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_15.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node16/Dockerfile b/linux/ecosystem/gitlab/runner/node16/Dockerfile index e091acf29..e3f46c033 100644 --- a/linux/ecosystem/gitlab/runner/node16/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node16/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node17/Dockerfile b/linux/ecosystem/gitlab/runner/node17/Dockerfile index 6c3b167a2..c693b437d 100644 --- a/linux/ecosystem/gitlab/runner/node17/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node17/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_17.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node18/Dockerfile b/linux/ecosystem/gitlab/runner/node18/Dockerfile index 838d81bfc..84efbfc91 100644 --- a/linux/ecosystem/gitlab/runner/node18/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node18/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node19/Dockerfile b/linux/ecosystem/gitlab/runner/node19/Dockerfile index 71ccbcca8..6789addbf 100644 --- a/linux/ecosystem/gitlab/runner/node19/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node19/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_19.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node20/Dockerfile b/linux/ecosystem/gitlab/runner/node20/Dockerfile index 0accd3653..2c26bde6f 100644 --- a/linux/ecosystem/gitlab/runner/node20/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node20/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/gitlab/runner/node21/Dockerfile b/linux/ecosystem/gitlab/runner/node21/Dockerfile new file mode 100644 index 000000000..1ca88e05d --- /dev/null +++ b/linux/ecosystem/gitlab/runner/node21/Dockerfile @@ -0,0 +1,36 @@ +FROM epicmorg/gitlab-runner:latest +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# Node.js 21.x +################################################################## +RUN groupadd node && \ + useradd --gid node --shell /bin/bash --create-home node + +RUN curl -sL https://deb.nodesource.com/setup_21.x | bash - && \ + curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ + echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + apt-get update && \ + apt-get install -y nodejs yarn && \ + npm install -g pnpm + +# curl -L https://www.npmjs.com/install.sh | sh +# npm install -g npm + +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt-get clean all && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/gitlab/runner/node21/Makefile b/linux/ecosystem/gitlab/runner/node21/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/gitlab/runner/node21/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/gitlab/runner/node21/README.md b/linux/ecosystem/gitlab/runner/node21/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/linux/ecosystem/gitlab/runner/node21/docker-compose.yml b/linux/ecosystem/gitlab/runner/node21/docker-compose.yml new file mode 100644 index 000000000..311b28005 --- /dev/null +++ b/linux/ecosystem/gitlab/runner/node21/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/gitlab-runner:node21" + build: + context: . diff --git a/linux/ecosystem/nodejs/node12/Dockerfile b/linux/ecosystem/nodejs/node12/Dockerfile index 8dafade6e..1ee359360 100644 --- a/linux/ecosystem/nodejs/node12/Dockerfile +++ b/linux/ecosystem/nodejs/node12/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm diff --git a/linux/ecosystem/nodejs/node13/Dockerfile b/linux/ecosystem/nodejs/node13/Dockerfile index 207c7c36a..dc39203b1 100644 --- a/linux/ecosystem/nodejs/node13/Dockerfile +++ b/linux/ecosystem/nodejs/node13/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_13.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node14/Dockerfile b/linux/ecosystem/nodejs/node14/Dockerfile index 0fa12ea3f..17a8e540f 100644 --- a/linux/ecosystem/nodejs/node14/Dockerfile +++ b/linux/ecosystem/nodejs/node14/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node15/Dockerfile b/linux/ecosystem/nodejs/node15/Dockerfile index 4e58ef585..64dee4dfa 100644 --- a/linux/ecosystem/nodejs/node15/Dockerfile +++ b/linux/ecosystem/nodejs/node15/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_15.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y -o nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node16/Dockerfile b/linux/ecosystem/nodejs/node16/Dockerfile index c1dad54a8..1e72a5425 100644 --- a/linux/ecosystem/nodejs/node16/Dockerfile +++ b/linux/ecosystem/nodejs/node16/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node17/Dockerfile b/linux/ecosystem/nodejs/node17/Dockerfile index 259492f7e..c988dd049 100644 --- a/linux/ecosystem/nodejs/node17/Dockerfile +++ b/linux/ecosystem/nodejs/node17/Dockerfile @@ -13,7 +13,8 @@ RUN curl -fsSL https://deb.nodesource.com/setup_17.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node18/Dockerfile b/linux/ecosystem/nodejs/node18/Dockerfile index 9aefea1a5..de7c76cd0 100644 --- a/linux/ecosystem/nodejs/node18/Dockerfile +++ b/linux/ecosystem/nodejs/node18/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node19/Dockerfile b/linux/ecosystem/nodejs/node19/Dockerfile index e052517d9..daf93f5e4 100644 --- a/linux/ecosystem/nodejs/node19/Dockerfile +++ b/linux/ecosystem/nodejs/node19/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_19.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node20/Dockerfile b/linux/ecosystem/nodejs/node20/Dockerfile index dc01b319e..9ee575833 100644 --- a/linux/ecosystem/nodejs/node20/Dockerfile +++ b/linux/ecosystem/nodejs/node20/Dockerfile @@ -13,7 +13,8 @@ RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get clean && apt-get autoclean && \ apt-get update && \ - apt-get install -y -o 'Acquire::Retries=3' nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -22,6 +23,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/nodejs/node21/Dockerfile b/linux/ecosystem/nodejs/node21/Dockerfile new file mode 100644 index 000000000..6b5f52e9a --- /dev/null +++ b/linux/ecosystem/nodejs/node21/Dockerfile @@ -0,0 +1,37 @@ +FROM epicmorg/debian:bullseye +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# Node.js 21.x +################################################################## +RUN groupadd node && \ + useradd --gid node --shell /bin/bash --create-home node + +RUN curl -sL https://deb.nodesource.com/setup_21.x | bash - && \ + curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ + echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + apt-get clean && apt-get autoclean && \ + apt-get update && \ + apt-get install -y nodejs yarn && \ + npm install -g pnpm + +# curl -L https://www.npmjs.com/install.sh | sh +# npm install -g npm + +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt-get clean all && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/nodejs/node21/Makefile b/linux/ecosystem/nodejs/node21/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/nodejs/node21/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/nodejs/node21/README.md b/linux/ecosystem/nodejs/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/nodejs/node21/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/nodejs/node21/docker-compose.yml b/linux/ecosystem/nodejs/node21/docker-compose.yml new file mode 100644 index 000000000..b5c7fbac9 --- /dev/null +++ b/linux/ecosystem/nodejs/node21/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/nodejs:node21" + build: + context: . diff --git a/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile b/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile index 2723c1609..99cc09ce7 100644 --- a/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile +++ b/linux/ecosystem/teamcity/agent/latest/jdk11/Dockerfile @@ -75,6 +75,61 @@ RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/d curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ chmod +x /usr/local/bin/docker-compose + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # cleaninig up ################################################################## diff --git a/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile b/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile index 0515469e7..cc59e14bf 100644 --- a/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile +++ b/linux/ecosystem/teamcity/agent/latest/jdk17/Dockerfile @@ -75,6 +75,61 @@ RUN export DOCKER_COMPOSE_VERSION=`curl --silent https://api.github.com/repos/d curl -SL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose && \ chmod +x /usr/local/bin/docker-compose + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.6 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/opt/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/MAVEN.zip + +ENV GRADLE_VERSION=8.6 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/opt/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle.zip + +ENV KTC_VERSION=1.9.22 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlinc.zip +ENV KTC_ROOT=/opt/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +RUN curl --insecure --progress-bar -L -o ${MAVEN_TEMP} --retry 10 --retry-delay 0 ${MAVEN_LINK} +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +RUN curl --insecure --progress-bar -L -o ${GRADLE_TEMP} --retry 10 --retry-delay 0 ${GRADLE_LINK} +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# KOTLIN +################################################################## +RUN curl --insecure --progress-bar -L -o ${KTC_TEMP} --retry 10 --retry-delay 0 ${KTC_LINK} +RUN 7zz x $KTC_TEMP -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + ################################################################## # cleaninig up ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node12/Dockerfile b/linux/ecosystem/teamcity/agent/node12/Dockerfile index 319e02c86..29cf661ce 100644 --- a/linux/ecosystem/teamcity/agent/node12/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node12/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node14/Dockerfile b/linux/ecosystem/teamcity/agent/node14/Dockerfile index 1203db549..0de1c2534 100644 --- a/linux/ecosystem/teamcity/agent/node14/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node14/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node15/Dockerfile b/linux/ecosystem/teamcity/agent/node15/Dockerfile index cc6cada53..02810f1fd 100644 --- a/linux/ecosystem/teamcity/agent/node15/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node15/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_15.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node16/Dockerfile b/linux/ecosystem/teamcity/agent/node16/Dockerfile index 0a6e9a373..347667711 100644 --- a/linux/ecosystem/teamcity/agent/node16/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node16/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node17/Dockerfile b/linux/ecosystem/teamcity/agent/node17/Dockerfile index 2e30af75d..c3449bf30 100644 --- a/linux/ecosystem/teamcity/agent/node17/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node17/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_17.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node18/Dockerfile b/linux/ecosystem/teamcity/agent/node18/Dockerfile index f89d0a090..31b97e408 100644 --- a/linux/ecosystem/teamcity/agent/node18/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node18/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node19/Dockerfile b/linux/ecosystem/teamcity/agent/node19/Dockerfile index 06d1ac07b..f13b882c2 100644 --- a/linux/ecosystem/teamcity/agent/node19/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node19/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_19.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node20/Dockerfile b/linux/ecosystem/teamcity/agent/node20/Dockerfile index 87cff2df3..fca4f1d0a 100644 --- a/linux/ecosystem/teamcity/agent/node20/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node20/Dockerfile @@ -12,7 +12,8 @@ RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ apt-get update && \ - apt-get install -y nodejs yarn + apt-get install -y nodejs yarn && \ + npm install -g pnpm # curl -L https://www.npmjs.com/install.sh | sh # npm install -g npm @@ -21,6 +22,7 @@ RUN echo "=============================================" && \ echo node $(node --version) && \ echo npm $(npm --version) && \ echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ echo "=============================================" ################################################################## diff --git a/linux/ecosystem/teamcity/agent/node21/Dockerfile b/linux/ecosystem/teamcity/agent/node21/Dockerfile new file mode 100644 index 000000000..6ba354bc2 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/Dockerfile @@ -0,0 +1,36 @@ +FROM epicmorg/teamcity-agent:latest +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# Node.js 21.x +################################################################## +RUN groupadd node && \ + useradd --gid node --shell /bin/bash --create-home node + +RUN curl -sL https://deb.nodesource.com/setup_21.x | bash - && \ + curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && \ + echo "deb https://nightly.yarnpkg.com/debian/ nightly main" > /etc/apt/sources.list.d/yarn.list && \ + apt-get update && \ + apt-get install -y nodejs yarn && \ + npm install -g pnpm + +# curl -L https://www.npmjs.com/install.sh | sh +# npm install -g npm + +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# cleaninig up +################################################################## +RUN apt clean -y && \ + apt-get clean all && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/teamcity/agent/node21/Makefile b/linux/ecosystem/teamcity/agent/node21/Makefile new file mode 100644 index 000000000..9ef622aa9 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/Makefile @@ -0,0 +1,19 @@ +all: app + +app: + make build + make deploy + make clean + +build: + docker-compose build --compress --parallel --progress plain + +deploy: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af diff --git a/linux/ecosystem/teamcity/agent/node21/README.md b/linux/ecosystem/teamcity/agent/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/teamcity/agent/node21/docker-compose.yml b/linux/ecosystem/teamcity/agent/node21/docker-compose.yml new file mode 100644 index 000000000..27bc567a8 --- /dev/null +++ b/linux/ecosystem/teamcity/agent/node21/docker-compose.yml @@ -0,0 +1,6 @@ +version: '3.9' +services: + app: + image: "epicmorg/teamcity-agent:node21" + build: + context: .