ci: replace only/except with rules

This commit is contained in:
Nicola Tarocco 2024-10-13 23:02:01 +02:00
parent 4b30f6aaed
commit 51c08147a7
No known key found for this signature in database
GPG key ID: A08DEF00BA54E806

View file

@ -18,9 +18,11 @@ variables:
.test-base: .test-base:
image: registry.cern.ch/docker.io/library/python:${PY_VERSION} image: registry.cern.ch/docker.io/library/python:${PY_VERSION}
stage: test stage: test
except: rules:
- live/caimira-test # do not run tests on live/caimira-test branch # do not run tests on live/caimira-test branch or tags
- tags - if: $CI_COMMIT_BRANCH != "live/caimira-test"
- if: $CI_COMMIT_TAG
when: never
.test-run: .test-run:
extends: extends:
@ -91,8 +93,8 @@ check_openshift_config_test:
CAIMIRA_INSTANCE: 'caimira-test' CAIMIRA_INSTANCE: 'caimira-test'
OC_SERVER: https://api.paas.okd.cern.ch OC_SERVER: https://api.paas.okd.cern.ch
OC_TOKEN: "${OPENSHIFT_CAIMIRA_TEST_CONFIG_CHECKER_TOKEN}" OC_TOKEN: "${OPENSHIFT_CAIMIRA_TEST_CONFIG_CHECKER_TOKEN}"
only: rules:
- live/caimira-test - if: $CI_COMMIT_BRANCH == "live/caimira-test"
check_openshift_config_prod: check_openshift_config_prod:
extends: .test_openshift_config extends: .test_openshift_config
@ -100,8 +102,8 @@ check_openshift_config_prod:
CAIMIRA_INSTANCE: 'caimira-prod' CAIMIRA_INSTANCE: 'caimira-prod'
OC_SERVER: https://api.paas.okd.cern.ch OC_SERVER: https://api.paas.okd.cern.ch
OC_TOKEN: "${OPENSHIFT_CAIMIRA_PROD_CONFIG_CHECKER_TOKEN}" OC_TOKEN: "${OPENSHIFT_CAIMIRA_PROD_CONFIG_CHECKER_TOKEN}"
only: rules:
- master - if: $CI_COMMIT_BRANCH == "master"
# ################################################################################################### # ###################################################################################################
# Build docker images # Build docker images
@ -115,12 +117,11 @@ check_openshift_config_prod:
name: gcr.io/kaniko-project/executor:debug name: gcr.io/kaniko-project/executor:debug
entrypoint: [""] entrypoint: [""]
script: script:
- echo "Building image for ${CI_COMMIT_REF_NAME} branch with tag ${IMAGE_TAG}" - echo "Building image for ${CI_COMMIT_REF_NAME} branch with tag ${IMAGE_TAG} and latest"
# Prepare Kaniko configuration file # Prepare Kaniko configuration file
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- echo "Building ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:latest Docker image..."
# Build and push the image from the Dockerfile # Build and push the image from the Dockerfile
- /kaniko/executor --context ${CI_PROJECT_DIR}/${DOCKER_CONTEXT_DIRECTORY} --dockerfile ${CI_PROJECT_DIR}/${DOCKERFILE_DIRECTORY}/Dockerfile --destination ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG} - /kaniko/executor --context ${CI_PROJECT_DIR}/${DOCKER_CONTEXT_DIRECTORY} --dockerfile ${CI_PROJECT_DIR}/${DOCKERFILE_DIRECTORY}/Dockerfile --destination ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG} --destination ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:latest
# Print the full registry path of the pushed image # Print the full registry path of the pushed image
- echo "Image pushed successfully to ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG}" - echo "Image pushed successfully to ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG}"
@ -147,15 +148,15 @@ docker-build-auth-service-test:
extends: extends:
- .docker-build-test - .docker-build-test
- .docker-build-auth-service - .docker-build-auth-service
only: rules:
- live/caimira-test - if: $CI_COMMIT_BRANCH == "live/caimira-test"
docker-build-calculator-app-test: docker-build-calculator-app-test:
extends: extends:
- .docker-build-test - .docker-build-test
- .docker-build-calculator-app - .docker-build-calculator-app
only: rules:
- live/caimira-test - if: $CI_COMMIT_BRANCH == "live/caimira-test"
# on release # on release
.docker-build-release: .docker-build-release:
@ -168,15 +169,15 @@ docker-build-auth-service-release:
extends: extends:
- .docker-build-release - .docker-build-release
- .docker-build-auth-service - .docker-build-auth-service
only: rules:
- tags - if: $CI_COMMIT_TAG
docker-build-calculator-app-release: docker-build-calculator-app-release:
extends: extends:
- .docker-build-release - .docker-build-release
- .docker-build-calculator-app - .docker-build-calculator-app
only: rules:
- tags - if: $CI_COMMIT_TAG
# ################################################################################################### # ###################################################################################################
# Deploy to OpenShift # Deploy to OpenShift
@ -191,10 +192,10 @@ docker-build-calculator-app-release:
- echo "Deploying ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG} to OpenShift" - echo "Deploying ${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG} to OpenShift"
- oc login $OPENSHIFT_SERVER --token=$OPENSHIFT_CAIMIRA_TEST_DEPLOY_TOKEN - oc login $OPENSHIFT_SERVER --token=$OPENSHIFT_CAIMIRA_TEST_DEPLOY_TOKEN
- oc project $OPENSHIFT_PROJECT - oc project $OPENSHIFT_PROJECT
- oc set image dc/$OPENSHIFT_DEPLOYMENT $OPENSHIFT_CONTAINER_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG} - oc set image deployment/$OPENSHIFT_DEPLOYMENT $OPENSHIFT_CONTAINER_NAME=${CI_REGISTRY_IMAGE}/${IMAGE_NAME}:${IMAGE_TAG}
- oc rollout status dc/$OPENSHIFT_DEPLOYMENT - oc rollout status deployment/$OPENSHIFT_DEPLOYMENT
only: rules:
- live/caimira-test - if: $CI_COMMIT_BRANCH == "live/caimira-test"
deploy-auth-service-test: deploy-auth-service-test:
extends: .deploy extends: .deploy