diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c492adb..8792bbc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,15 +39,6 @@ cache: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $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: name: docker.io/aquasec/trivy:latest @@ -129,20 +120,23 @@ cache: # when: on_success .build-template: &build-config - <<: *buildah-job + <<: *docker-job stage: build + variables: + DOCKER_BUILDKIT: 1 + BUILDKIT_INLINE_CACHE: 1 script: + - docker buildx create --use || true - | - buildah bud \ - --tag $IMAGE_NAME:$CI_COMMIT_SHA \ - --file $CONTAINERFILE \ + docker buildx build . \ + -t $IMAGE_NAME:$CI_COMMIT_SHA \ + -f $CONTAINERFILE \ --target $BUILDTARGET \ + --push \ --build-arg SERVICE_NAME=${SERVICE_NAME} \ - --layers \ - --cache-from $IMAGE_NAME-cache \ - --cache-to $IMAGE_NAME-cache \ - . - - buildah push $IMAGE_NAME:$CI_COMMIT_SHA + --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 rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH when: always @@ -153,26 +147,26 @@ cache: allow_failure: true .tag-template: &tag-config - <<: *buildah-job + <<: *docker-job stage: tag script: - | set -euo pipefail - buildah pull $IMAGE_NAME:$CI_COMMIT_SHA + docker pull "$IMAGE_NAME:$CI_COMMIT_SHA" if [ -n "${CI_COMMIT_TAG:-}" ]; then - buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:$CI_COMMIT_TAG - buildah push $IMAGE_NAME:$CI_COMMIT_TAG + docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:$CI_COMMIT_TAG" + docker push "$IMAGE_NAME:$CI_COMMIT_TAG" fi if [ -n "${CI_COMMIT_BRANCH:-}" ]; then - buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:$CI_COMMIT_REF_SLUG - buildah push $IMAGE_NAME:$CI_COMMIT_REF_SLUG + docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:$CI_COMMIT_REF_SLUG" + docker push "$IMAGE_NAME:$CI_COMMIT_REF_SLUG" if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then - buildah tag $IMAGE_NAME:$CI_COMMIT_SHA $IMAGE_NAME:latest - buildah push $IMAGE_NAME:latest + docker tag "$IMAGE_NAME:$CI_COMMIT_SHA" "$IMAGE_NAME:latest" + docker push "$IMAGE_NAME:latest" fi fi rules: