62 lines
1.9 KiB
YAML
62 lines
1.9 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/rabbitmq || true
|
|
- mkdir /sprint-data/certs || true
|
|
- mkdir /sprint-data/gitea || true
|
|
- chmod 777 /sprint-data/redis
|
|
- chmod 777 /sprint-data/rabbitmq
|
|
- chmod 777 /sprint-data/gitea
|
|
|
|
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
|
|
- docker build -t mathwave/sprint-repo:gitea-runner gitea-runner
|
|
- docker push mathwave/sprint-repo:gitea-runner
|
|
|
|
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
|