diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 57dc333..0a08926 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,30 +1,36 @@ default: - image: docker:28.5.1-dind - services: - - "docker:28.5.1-dind" - -variables: - DOCKER_TLS_CERTDIR: "/certs" - IMAGE_TAG: "${CI_COMMIT_REF_SLUG}" + image: quay.io/podman/stable stages: - build-and-push-image + - push-retagged-branch - push-retagged-latest build-and-push-image: stage: build-and-push-image script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build --no-cache -t "$CI_REGISTRY_IMAGE:$IMAGE_TAG" . - - docker push "$CI_REGISTRY_IMAGE:$IMAGE_TAG" + - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - podman build --no-cache -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" . + - podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" + +push-retagged-branch: + stage: push-retagged-branch + script: + - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - podman pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" + - podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" + - podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" + rules: + - if: $CI_PIPELINE_SOURCE == "push" + when: on_success push-retagged-latest: stage: push-retagged-latest script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker pull "$CI_REGISTRY_IMAGE:$IMAGE_TAG" - - docker tag "$CI_REGISTRY_IMAGE:$IMAGE_TAG" "$CI_REGISTRY_IMAGE:latest" - - docker push "$CI_REGISTRY_IMAGE:latest" + - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - podman pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" + - podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest" + - podman push "$CI_REGISTRY_IMAGE:latest" rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE == "push" when: on_success