stages: - build - deploy-dev - deploy-prod build: stage: build tags: - demo before_script: - docker login -u mathwave -p $DOCKERHUB_PASSWORD script: - docker build -t mathwave/sprint-repo:sprint . - docker push mathwave/sprint-repo:sprint .deploy: before_script: - docker login -u mathwave -p $DOCKERHUB_PASSWORD script: - docker stack deploy -c ./docker-compose-deploy.yaml sprint deploy-dev: extends: - .deploy stage: deploy-dev tags: - demo rules: - if: '$CI_COMMIT_BRANCH == "master"' when: on_success - when: manual variables: PORT: 80 DB_PASSWORD: "$DB_PASSWORD_DEMO" DEBUG: "true" TELEGRAM_TOKEN: "$TELEGRAM_TOKEN_DEMO" deploy-prod: extends: - .deploy stage: deploy-prod tags: - main only: - master when: manual variables: PORT: 80 DB_PASSWORD: "$DB_PASSWORD_PROD" TELEGRAM_TOKEN: "$TELEGRAM_TOKEN_PROD"