stages: - build - trigger variables: DOCKER_TLS_CERTDIR: /certs FRONTEND_IMAGE: $CI_REGISTRY_IMAGE/frontend BACKEND_IMAGE: $CI_REGISTRY_IMAGE/backend .build-template: &build-template image: name: gcr.io/kaniko-project/executor:v1.23.2-debug entrypoint: [""] stage: build variables: DOCKER_CONFIG: /kaniko/.docker CONTEXT: $CI_PROJECT_DIR REGISTRY_USER: $CI_REGISTRY_USER REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD REGISTRY_URL: $CI_REGISTRY script: - mkdir -p /kaniko/.docker - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --context "${CONTEXT}" --dockerfile "${DOCKERFILE_PATH}" --destination "${IMAGE_NAME}:${CI_COMMIT_SHA}" --destination "${IMAGE_NAME}:latest" --cache=true build_frontend: <<: *build-template variables: DOCKERFILE_PATH: ./services/frontend/Dockerfile IMAGE_NAME: $CI_REGISTRY_IMAGE/frontend build_backend: <<: *build-template variables: DOCKERFILE_PATH: ./services/backend/Dockerfile IMAGE_NAME: $CI_REGISTRY_IMAGE/backend trigger_deployment: stage: trigger image: curlimages/curl:8.5.0 rules: - if: $CI_COMMIT_REF_NAME == "master" script: - | curl --request POST \ --header "PRIVATE-TOKEN: prod-16cwBKYHzqqZaRzywCCG" \ --form "variables[FRONTEND_TAG]=$CI_COMMIT_SHORT_SHA" \ --form "variables[BACKEND_TAG]=$CI_COMMIT_SHORT_SHA" \ "https://gitlab.com/api/v4/projects/289/trigger/pipeline"