diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6d9304..1d56cb6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,14 +26,14 @@ build-all: stage: docker-build variables: DOCKER_TAG: ${CI_COMMIT_SHORT_SHA} - DOCKER_CONTEXT: . + BUILD_CONTEXT: . only: - main - develop - tags script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} + - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${BUILD_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} .docker-release: @@ -191,7 +191,7 @@ zammad-docker-build: variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/zammad DOCKERFILE_PATH: ./docker/zammad/Dockerfile - DOCKER_CONTEXT: ./docker/zammad + BUILD_CONTEXT: ./docker/zammad PNPM_HOME: "/pnpm" before_script: - export PATH="$PNPM_HOME:$PATH" @@ -201,7 +201,7 @@ zammad-docker-build: - pnpm install --frozen-lockfile - turbo build --force --filter @link-stack/zammad-addon-* - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --build-arg EMBEDDED=true --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} + - DOCKER_BUILDKIT=1 docker build --build-arg EMBEDDED=true --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${BUILD_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} zammad-docker-release: @@ -214,7 +214,7 @@ zammad-standalone-docker-build: variables: DOCKER_NS: ${CI_REGISTRY}/digiresilience/link/link-stack/zammad-standalone DOCKERFILE_PATH: ./docker/zammad/Dockerfile - DOCKER_CONTEXT: ./docker/zammad + BUILD_CONTEXT: ./docker/zammad PNPM_HOME: "/pnpm" before_script: - export PATH="$PNPM_HOME:$PATH" @@ -224,7 +224,7 @@ zammad-standalone-docker-build: - pnpm install --frozen-lockfile - turbo build --force --filter @link-stack/zammad-addon-* - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${DOCKER_CONTEXT} + - DOCKER_BUILDKIT=1 docker build --pull --no-cache -t ${DOCKER_NS}:${DOCKER_TAG} -f ${DOCKERFILE_PATH} ${BUILD_CONTEXT} - docker push ${DOCKER_NS}:${DOCKER_TAG} zammad-standalone-docker-release: diff --git a/docker/buildx/Dockerfile b/docker/buildx/Dockerfile index 17b96ca..dc394b5 100644 --- a/docker/buildx/Dockerfile +++ b/docker/buildx/Dockerfile @@ -1,3 +1,4 @@ +FROM node:22-alpine AS node FROM docker:git RUN set -ex; \ @@ -5,7 +6,22 @@ RUN set -ex; \ make \ curl \ bash \ - jq ; + jq \ + libstdc++ ; + +# Copy Node.js 22 from official image +COPY --from=node /usr/lib /usr/lib +COPY --from=node /usr/local/lib /usr/local/lib +COPY --from=node /usr/local/include /usr/local/include +COPY --from=node /usr/local/bin /usr/local/bin + +# Prepare pnpm (corepack is already enabled in node:22-alpine) +RUN corepack prepare pnpm@9.15.4 --activate + +# Set up pnpm home +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" + COPY --from=docker/buildx-bin /buildx /usr/libexec/docker/cli-plugins/docker-buildx RUN docker buildx install RUN docker buildx version