From 73a063b1eb08d7f7f9c9b65add9a323b7af3869e Mon Sep 17 00:00:00 2001 From: ITQ Date: Mon, 15 Dec 2025 12:09:48 +0300 Subject: [PATCH] ci: switched back to buildah build implementation --- .gitlab-ci.yml | 50 ++++++++++++++++++++++++++++---------------------- compose.yaml | 2 +- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8792bbc..22726ec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,7 +37,16 @@ cache: services: - docker.io/docker:dind before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - echo $CI_REGISTRY_PASSWORD | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + +.buildah-job: &buildah-job + image: quay.io/containers/buildah:latest + variables: + STORAGE_DRIVER: vfs + BUILDAH_FORMAT: oci + BUILDAH_ISOLATION: chroot + before_script: + - buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY .trivy-fs-template: &trivy-fs-scan image: @@ -120,23 +129,20 @@ cache: # when: on_success .build-template: &build-config - <<: *docker-job + <<: *buildah-job stage: build - variables: - DOCKER_BUILDKIT: 1 - BUILDKIT_INLINE_CACHE: 1 script: - - docker buildx create --use || true - | - docker buildx build . \ - -t $IMAGE_NAME:$CI_COMMIT_SHA \ - -f $CONTAINERFILE \ + buildah bud \ + --tag $IMAGE_NAME:$CI_COMMIT_SHA \ + --file $CONTAINERFILE \ --target $BUILDTARGET \ - --push \ - --build-arg SERVICE_NAME=${SERVICE_NAME} \ - --build-arg BUILDKIT_INLINE_CACHE=1 \ - --cache-from type=registry,ref=$IMAGE_NAME-cache \ - --cache-to type=registry,ref=$IMAGE_NAME-cache,mode=max,oci-mediatypes=true,image-manifest=true,compression=zstd + --build-arg SERVICE=${SERVICE_NAME} \ + --layers \ + --cache-from $IMAGE_NAME-cache \ + --cache-to $IMAGE_NAME-cache \ + . + - buildah push $IMAGE_NAME:$CI_COMMIT_SHA rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: always @@ -147,26 +153,26 @@ cache: allow_failure: true .tag-template: &tag-config - <<: *docker-job + <<: *buildah-job stage: tag script: - | set -euo pipefail - docker pull "$IMAGE_NAME:$CI_COMMIT_SHA" + buildah pull $IMAGE_NAME:$CI_COMMIT_SHA if [ -n "${CI_COMMIT_TAG:-}" ]; then - docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:$CI_COMMIT_TAG" - docker push "$IMAGE_NAME:$CI_COMMIT_TAG" + buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:$CI_COMMIT_TAG + buildah push $IMAGE_NAME:$CI_COMMIT_TAG fi if [ -n "${CI_COMMIT_BRANCH:-}" ]; then - docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:$CI_COMMIT_REF_SLUG" - docker push "$IMAGE_NAME:$CI_COMMIT_REF_SLUG" + buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:$CI_COMMIT_REF_SLUG + buildah push $IMAGE_NAME:$CI_COMMIT_REF_SLUG if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then - docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:latest" - docker push "$IMAGE_NAME:latest" + buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:latest + buildah push $IMAGE_NAME:latest fi fi rules: diff --git a/compose.yaml b/compose.yaml index 081852c..1a6990b 100644 --- a/compose.yaml +++ b/compose.yaml @@ -39,7 +39,7 @@ services: - default restart: unless-stopped shm_size: 4mb - + migrate: build: context: .