infra/.gitlab-ci.yml
Administrator 5351090532 portainer
2022-09-22 23:42:08 +03:00

51 lines
1.3 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
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 -c ./.deploy-swarmpit/deploy-dev.yaml swarmpit
- docker stack deploy -c ./.deploy-portainer/depoy-dev.yaml portainer
- docker stack deploy -c ./.deploy-infra/deploy-dev.yaml infra
deploy-prod:
stage: deploy-prod
extends:
- .deploy
tags:
- prod
only:
- master
when: manual
script:
- docker stack deploy -c ./.deploy-swarmpit/deploy-prod.yaml swarmpit
- docker stack deploy -c ./.deploy-portainer/depoy-prod.yaml portainer
- docker stack deploy -c ./.deploy-infra/deploy-prod.yaml infra