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: extends: .build_template variables: DOCKER_BUILD_PATH: "./Dockerfile" STAGING_BRANCH: "main" PRODUCTION_BRANCH: "main" script: - mkdir -p /kaniko/.docker - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - | /kaniko/executor --context $CI_PROJECT_DIR \ --cache=true --cache-repo=$CI_REGISTRY_IMAGE \ --dockerfile $CI_PROJECT_DIR/$DOCKER_BUILD_PATH --use-new-run --snapshotMode=redo \ --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID deploy-to-staging: extends: .deploy_template variables: DEPLOY_TO: "staging" BRANCH: "main"