stages: - linting - testing - build - staging - production default: image: python:3.12-slim before_script: - docker login ${CI_REGISTRY} -u gitlab-ci-token -p ${CI_JOB_TOKEN} build_image: stage: build image: docker services: - docker script: - docker build -t ${CI_REGISTRY_IMAGE}/facturio:${CI_COMMIT_REF_NAME} . - docker push ${CI_REGISTRY_IMAGE}/facturio:${CI_COMMIT_REF_NAME} - | if [[ -z "${CI_COMMIT_TAG}" ]]; then docker tag ${CI_REGISTRY_IMAGE}/facturio:${CI_COMMIT_REF_NAME} ${CI_REGISTRY_IMAGE}/facturio:${CI_COMMIT_TAG} docker push ${CI_REGISTRY_IMAGE}/facturio:${CI_COMMIT_TAG} fi