stages: - dind-build .base: # See https://gitlab.com/gitlab-org/cluster-integration/cluster-applications/ variables: DOCKER_AUTH_CONFIG: ${HOME_NEXUS_DOCKER_AUTH_CONFIG} image: "$HOME_NEXUS_DOCKER_REGISTRY_SHARED/podman/stable:latest" parallel: matrix: - REGISTRY_USER: $CI_REGISTRY_USER REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD REGISTRY: $CI_REGISTRY REGISTRY_IMAGE: $CI_REGISTRY_IMAGE - REGISTRY_USER: $HOME_NEXUS_DOCKER_USER REGISTRY_PASSWORD: $HOME_NEXUS_DOCKER_PASSWORD REGISTRY: $HOME_NEXUS_DOCKER_REGISTRY REGISTRY_IMAGE: $HOME_NEXUS_DOCKER_REGISTRY/$CI_PROJECT_PATH .shared_resources: script: &build_push - docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" $REGISTRY - export REGISTRY_IMAGE_LOWER=$(echo "$REGISTRY_IMAGE" | tr '[:upper:]' '[:lower:]') - docker build --pull -t "$REGISTRY_IMAGE_LOWER:$IMAGE_TAG" --build-arg ARTIFACTORY=$HOME_NEXUS_DOCKER_REGISTRY_SHARED . - docker push "$REGISTRY_IMAGE_LOWER:$IMAGE_TAG" before_script: &before_auth - dnf install -y podman-docker - docker login -u "$HOME_NEXUS_DOCKER_USER" -p "$HOME_NEXUS_DOCKER_PASSWORD" $HOME_NEXUS_DOCKER_REGISTRY_SHARED build:prereleases: stage: dind-build extends: .base tags: - big-build before_script: - *before_auth script: - export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | sed 's|/|-|g') - *build_push only: - branches except: - main build:releases: extends: .base stage: dind-build tags: - big-build before_script: - *before_auth script: - export IMAGE_TAG=$CI_COMMIT_TAG - *build_push - docker tag "$REGISTRY_IMAGE_LOWER:$IMAGE_TAG" "$REGISTRY_IMAGE_LOWER:latest" - docker push "$REGISTRY_IMAGE_LOWER:latest" only: - tags