From b14ec7a61b97b2d4d06a67129cd6327ffafc3b35 Mon Sep 17 00:00:00 2001 From: anthorob Date: Tue, 8 Jul 2025 10:18:15 -0400 Subject: [PATCH] add java and php images --- .gitlab-ci.yml | 9 +++++---- coder-cli/.gitlab-ci.yml | 7 +++++++ coder-cli/Dockerfile | 6 ++++++ java/.gitlab-ci.yml | 22 ++++++++++++++++++++++ java/Dockerfile.java17 | 15 +++++++++++++++ java/Dockerfile.java21 | 15 +++++++++++++++ java/Dockerfile.java8 | 15 +++++++++++++++ php/.gitlab-ci.yml | 12 ++++++++++++ php/Dockerfile.php82 | 39 +++++++++++++++++++++++++++++++++++++++ 9 files changed, 136 insertions(+), 4 deletions(-) create mode 100644 coder-cli/.gitlab-ci.yml create mode 100644 coder-cli/Dockerfile create mode 100644 java/.gitlab-ci.yml create mode 100644 java/Dockerfile.java17 create mode 100644 java/Dockerfile.java21 create mode 100644 java/Dockerfile.java8 create mode 100644 php/.gitlab-ci.yml create mode 100644 php/Dockerfile.php82 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4f7c5dd..37afda2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,7 @@ variables: stages: - base -# - build + - build build_base: stage: base @@ -17,6 +17,7 @@ build_base: - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" - buildah push ${FQ_IMAGE_NAME}:base -#include: -# - "java/.gitlab-ci.yml" -# - "php/.gitlab-ci.yml" \ No newline at end of file +include: + - "coder-cli/.gitlab-ci.yml" + - "java/.gitlab-ci.yml" + - "php/.gitlab-ci.yml" \ No newline at end of file diff --git a/coder-cli/.gitlab-ci.yml b/coder-cli/.gitlab-ci.yml new file mode 100644 index 0000000..536ac30 --- /dev/null +++ b/coder-cli/.gitlab-ci.yml @@ -0,0 +1,7 @@ +build_cli: + stage: build + script: + - buildah info + - buildah bud --storage-driver=${STORAGE_DRIVER} -t ${FQ_IMAGE_NAME}:coder-cli -f Dockerfile . + - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" + - buildah push ${FQ_IMAGE_NAME}:coder-cli \ No newline at end of file diff --git a/coder-cli/Dockerfile b/coder-cli/Dockerfile new file mode 100644 index 0000000..0f3996a --- /dev/null +++ b/coder-cli/Dockerfile @@ -0,0 +1,6 @@ +FROM alpine:latest + +RUN apk add --no-cache curl +RUN curl -fsSL https://coder.com/install.sh | sh + +ENTRYPOINT ["/bin/sh"] \ No newline at end of file diff --git a/java/.gitlab-ci.yml b/java/.gitlab-ci.yml new file mode 100644 index 0000000..63dff0e --- /dev/null +++ b/java/.gitlab-ci.yml @@ -0,0 +1,22 @@ +.default_build_template: &build_template + stage: build + script: + - buildah info + - buildah bud --storage-driver=${STORAGE_DRIVER} -t ${FQ_IMAGE_NAME}:java${JAVA_VERSION} -f Dockerfile.java${JAVA_VERSION} . + - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" + - buildah push ${FQ_IMAGE_NAME}:java${JAVA_VERSION} + +build_java8: + <<: *build_template + variables: + JAVA_VERSION: "8" + +build_java17: + <<: *build_template + variables: + JAVA_VERSION: "17" + +build_java21: + <<: *build_template + variables: + JAVA_VERSION: "21" \ No newline at end of file diff --git a/java/Dockerfile.java17 b/java/Dockerfile.java17 new file mode 100644 index 0000000..4742274 --- /dev/null +++ b/java/Dockerfile.java17 @@ -0,0 +1,15 @@ +FROM registry.bobert.me/anthorob/coder-images:base + +USER root + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + openjdk-17-jdk \ + maven \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 +ENV PATH="${JAVA_HOME}/bin:${PATH}" + +USER coder +WORKDIR /home/coder \ No newline at end of file diff --git a/java/Dockerfile.java21 b/java/Dockerfile.java21 new file mode 100644 index 0000000..ea3e799 --- /dev/null +++ b/java/Dockerfile.java21 @@ -0,0 +1,15 @@ +FROM registry.bobert.me/anthorob/coder-images:base + +USER root + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + openjdk-21-jdk \ + maven \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64 +ENV PATH="${JAVA_HOME}/bin:${PATH}" + +USER coder +WORKDIR /home/coder \ No newline at end of file diff --git a/java/Dockerfile.java8 b/java/Dockerfile.java8 new file mode 100644 index 0000000..b82b126 --- /dev/null +++ b/java/Dockerfile.java8 @@ -0,0 +1,15 @@ +FROM registry.bobert.me/anthorob/coder-images:base + +USER root + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + openjdk-8-jdk \ + maven \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 +ENV PATH="${JAVA_HOME}/bin:${PATH}" + +USER coder +WORKDIR /home/coder \ No newline at end of file diff --git a/php/.gitlab-ci.yml b/php/.gitlab-ci.yml new file mode 100644 index 0000000..d19291d --- /dev/null +++ b/php/.gitlab-ci.yml @@ -0,0 +1,12 @@ +.default_build_template: &build_template + stage: build + script: + - buildah info + - buildah bud --storage-driver=${STORAGE_DRIVER} -t ${FQ_IMAGE_NAME}:php${PHP_VERSION} -f Dockerfile.php${PHP_VERSION} . + - echo "$CI_REGISTRY_PASSWORD" | buildah login -u "$CI_REGISTRY_USER" --password-stdin "$CI_REGISTRY" + - buildah push ${FQ_IMAGE_NAME}:php${PHP_VERSION} + +build_php82: + <<: *build_template + variables: + PHP_VERSION: "82" \ No newline at end of file diff --git a/php/Dockerfile.php82 b/php/Dockerfile.php82 new file mode 100644 index 0000000..89802cf --- /dev/null +++ b/php/Dockerfile.php82 @@ -0,0 +1,39 @@ +FROM registry.bobert.me/anthorob/coder-images:base + +USER root + +RUN apt-get update && \ + add-apt-repository ppa:ondrej/php && \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + php8.2 \ + php8.2-cli \ + php8.2-common \ + php8.2-curl \ + php8.2-mbstring \ + php8.2-mysql \ + php8.2-xml \ + php8.2-zip \ + php8.2-bcmath \ + php8.2-soap \ + php8.2-readline \ + php8.2-intl \ + php8.2-opcache \ + php8.2-gd \ + php8.2-pgsql \ + php8.2-sqlite3 \ + php8.2-tokenizer \ + php8.2-fileinfo && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +RUN update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82 && \ + update-alternatives --set php /usr/bin/php8.2 + +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer + +ENV NVM_DIR=/home/coder/.nvm +RUN mkdir -p $NVM_DIR && \ + curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash + +USER coder +WORKDIR /home/coder