include: - project: "devops/pena-continuous-integration" file: "/templates/docker/build-template.gitlab-ci.yml" - project: "devops/pena-continuous-integration" file: "/templates/docker/clean-template.gitlab-ci.yml" - project: "devops/pena-continuous-integration" file: "/templates/docker/deploy-template.gitlab-ci.yml" stages: - clean - build - deploy clear-old-images: extends: .clean_template variables: STAGING_BRANCH: "main" PRODUCTION_BRANCH: "main" image: name: docker/compose:1.28.0 entrypoint: [""] before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker images script: - docker system prune -af build-app: stage: build before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - echo STAGING_BRANCH = $STAGING_BRANCH - echo CI_REGISTRY = $CI_REGISTRY - echo CI_REGISTRY_USER = $CI_REGISTRY_USER - echo CI_PROJECT_DIR = $CI_PROJECT_DIR - echo CI_REGISTRY_IMAGE = $CI_REGISTRY_IMAGE - echo CI_COMMIT_REF_SLUG = $CI_COMMIT_REF_SLUG - echo DOCKER_BUILD_PATH = $DOCKER_BUILD_PATH - echo CI_PIPELINE_ID = $CI_PIPELINE_ID variables: DOCKER_BUILD_PATH: "build/Dockerfile" PRODUCTION_BRANCH: main STAGING_BRANCH: "main" rules: - if: $CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH script: - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID $CI_PROJECT_DIR - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID deploy-to-staging: extends: .deploy_template variables: DEPLOY_TO: "staging" BRANCH: "main"