infra/.gitlab-ci.yml
Administrator 38938a8e47 youtrack
2022-11-13 20:27:09 +03:00

58 lines
1.7 KiB
YAML

stages:
- build
- deploy-dev
- deploy-prod
.deploy:
before_script:
- docker login -u mathwave -p $DOCKERHUB_PASSWORD
- docker network create -d overlay --attachable swarmpit-nginx || true
- docker network create -d overlay --attachable common-infra-nginx || true
- mkdir /sprint-data/mongo || true
- mkdir /sprint-data/redis || true
- mkdir /sprint-data/youtrack || true
- chmod 777 /sprint-data/grafana
- chmod 777 /sprint-data/redis
- chmod 777 /sprint-data/youtrack
build:
stage: build
tags:
- dev
before_script:
- docker login -u mathwave -p $DOCKERHUB_PASSWORD
script:
- docker build -t mathwave/sprint-repo:sprint-infra-nginx-dev nginx/nginx-dev
- docker push mathwave/sprint-repo:sprint-infra-nginx-dev
- docker build -t mathwave/sprint-repo:sprint-infra-nginx-prod nginx/nginx-prod
- docker push mathwave/sprint-repo:sprint-infra-nginx-prod
deploy-dev:
stage: deploy-dev
extends:
- .deploy
tags:
- dev
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
when: on_success
- when: manual
script:
- docker stack deploy --with-registry-auth -c ./.deploy-swarmpit/deploy-dev.yaml swarmpit
- docker stack deploy --with-registry-auth -c ./.deploy-portainer/deploy-dev.yaml portainer
- docker stack deploy --with-registry-auth -c ./.deploy-infra/deploy-dev.yaml infra
deploy-prod:
stage: deploy-prod
extends:
- .deploy
tags:
- prod
only:
- master
when: manual
script:
- docker stack deploy --with-registry-auth -c ./.deploy-swarmpit/deploy-prod.yaml swarmpit
- docker stack deploy --with-registry-auth -c ./.deploy-portainer/deploy-prod.yaml portainer
- docker stack deploy --with-registry-auth -c ./.deploy-infra/deploy-prod.yaml infra