ci: switched back to buildah build implementation

This commit is contained in:
ITQ
2025-12-15 12:09:48 +03:00
parent ccb537314d
commit 73a063b1eb
2 changed files with 29 additions and 23 deletions
+28 -22
View File
@@ -37,7 +37,16 @@ cache:
services: services:
- docker.io/docker:dind - docker.io/docker:dind
before_script: 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 .trivy-fs-template: &trivy-fs-scan
image: image:
@@ -120,23 +129,20 @@ cache:
# when: on_success # when: on_success
.build-template: &build-config .build-template: &build-config
<<: *docker-job <<: *buildah-job
stage: build stage: build
variables:
DOCKER_BUILDKIT: 1
BUILDKIT_INLINE_CACHE: 1
script: script:
- docker buildx create --use || true
- | - |
docker buildx build . \ buildah bud \
-t $IMAGE_NAME:$CI_COMMIT_SHA \ --tag $IMAGE_NAME:$CI_COMMIT_SHA \
-f $CONTAINERFILE \ --file $CONTAINERFILE \
--target $BUILDTARGET \ --target $BUILDTARGET \
--push \ --build-arg SERVICE=${SERVICE_NAME} \
--build-arg SERVICE_NAME=${SERVICE_NAME} \ --layers \
--build-arg BUILDKIT_INLINE_CACHE=1 \ --cache-from $IMAGE_NAME-cache \
--cache-from type=registry,ref=$IMAGE_NAME-cache \ --cache-to $IMAGE_NAME-cache \
--cache-to type=registry,ref=$IMAGE_NAME-cache,mode=max,oci-mediatypes=true,image-manifest=true,compression=zstd .
- buildah push $IMAGE_NAME:$CI_COMMIT_SHA
rules: rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
when: always when: always
@@ -147,26 +153,26 @@ cache:
allow_failure: true allow_failure: true
.tag-template: &tag-config .tag-template: &tag-config
<<: *docker-job <<: *buildah-job
stage: tag stage: tag
script: script:
- | - |
set -euo pipefail set -euo pipefail
docker pull "$IMAGE_NAME:$CI_COMMIT_SHA" buildah pull $IMAGE_NAME:$CI_COMMIT_SHA
if [ -n "${CI_COMMIT_TAG:-}" ]; then if [ -n "${CI_COMMIT_TAG:-}" ]; then
docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:$CI_COMMIT_TAG" buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:$CI_COMMIT_TAG
docker push "$IMAGE_NAME:$CI_COMMIT_TAG" buildah push $IMAGE_NAME:$CI_COMMIT_TAG
fi fi
if [ -n "${CI_COMMIT_BRANCH:-}" ]; then if [ -n "${CI_COMMIT_BRANCH:-}" ]; then
docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:$CI_COMMIT_REF_SLUG" buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:$CI_COMMIT_REF_SLUG
docker push "$IMAGE_NAME:$CI_COMMIT_REF_SLUG" buildah push $IMAGE_NAME:$CI_COMMIT_REF_SLUG
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:latest" buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:latest
docker push "$IMAGE_NAME:latest" buildah push $IMAGE_NAME:latest
fi fi
fi fi
rules: rules: