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: tags: - frontbuild 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 image ls script: - docker system prune -af # check-config: # tags: # - frontbuild # image: # name: penahub.gitlab.yandexcloud.net:5050/devops/dockerhub-backup/nginx # before_script: # - cp /builds/frontend/nginx-proxy/nginx.conf /etc/nginx/nginx.conf # - cp /builds/frontend/nginx-proxy/default.conf /etc/nginx/conf.d/default.conf # script: # - nginx -t # stage: check build-app: tags: - frontbuild extends: .build_template before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY variables: DOCKER_BUILD_PATH: "./Dockerfile" STAGING_BRANCH: "staging" PRODUCTION_BRANCH: "main" script: - docker build -t $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID --build-arg GITLAB_TOKEN=$GITLAB_TOKEN $CI_PROJECT_DIR - docker push $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID deploy-to-staging: tags: - front - staging extends: .deploy_template variables: PRODUCTION_BRANCH: main STAGING_BRANCH: staging before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY rules: - if: "$CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH" script: - docker login -u $REGISTRY_USER -p $REGISTRY_TOKEN $CI_REGISTRY - docker-compose -f deployments/$CI_COMMIT_BRANCH/docker-compose.yaml up -d