-
Chris Hines authoredChris Hines authored
.gitlab-ci.yml 3.93 KiB
stages:
- build
- deploy
build:
stage: build
image: docker:20.10
services:
- docker:20.10-dind
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: "/certs"
script:
- echo $DOCKERHUBUSER
- echo $DOCKERHUBPASSWORD
- docker login -u $DOCKERHUBUSER -p $DOCKERHUBPASSWORD docker.io
- docker build --tag=l1ll1/strudel2_backend:$CI_COMMIT_BRANCH .
- docker push l1ll1/strudel2_backend:$CI_COMMIT_BRANCH
tags:
- build_strudel2_backend
deploy_test:
stage: deploy
only:
- test@hpc-team/strudel2_backend
tags:
- deploy_test
variables:
DOCKER_HOST: unix:///var/run/docker.sock
script:
- echo "deploying test"
- cp ./nginx_snippets/* /etc/nginx/snippets/
- mkdir -p /opt/strudel2/errors/
- cp ./html/* /opt/strudel2/errors/
- docker login -u $DOCKERHUBUSER -p $DOCKERHUBPASSWORD docker.io
- docker stop strudel2_backend || echo "Failed to stop existing container"
- docker ps -a -q | xargs -I{} docker rm {} || echo "No containers to remove"
- docker images -q | xargs -I{} docker rmi {} || echo "No images to remove"
- docker pull l1ll1/strudel2_backend:$CI_COMMIT_BRANCH
- docker run --mount type=bind,source=/messages,target=/messages --mount type=bind,source=/var/log/strudel2,target=/var/log/strudel2 --restart=always -v /home/ubuntu/telegraf.conf:/etc/telegraf/telegraf.conf:ro -d -p 8080:8080 -p 8090:8090 --name strudel2_backend l1ll1/strudel2_backend:$CI_COMMIT_BRANCH || echo "Unable to start image ... possibly the old wsgi process is still running?"
dependencies:
- build
deploy_dev:
stage: deploy
only:
- dev@hpc-team/strudel2_backend
tags:
- deploy_dev
variables:
DOCKER_HOST: unix:///var/run/docker.sock
script:
- echo "deploying dev"
- cp ./nginx_snippets/* /etc/nginx/snippets/
- mkdir -p /opt/strudel2/errors/
- cp ./html/* /opt/strudel2/errors/
- docker login -u $DOCKERHUBUSER -p $DOCKERHUBPASSWORD docker.io
- docker stop strudel2_backend || echo "Failed to stop existing container"
- docker ps -a -q | xargs -I{} docker rm {} || echo "No containers to remove"
- docker images -q | xargs -I{} docker rmi {} || echo "No images to remove"
- docker pull l1ll1/strudel2_backend:$CI_COMMIT_BRANCH
- docker run --mount type=bind,source=/messages,target=/messages --mount type=bind,source=/var/log/strudel2,target=/var/log/strudel2 --restart=always -v /home/ubuntu/telegraf.conf:/etc/telegraf/telegraf.conf:ro -d -p 8080:8080 -p 8090:8090 --name strudel2_backend l1ll1/strudel2_backend:$CI_COMMIT_BRANCH || echo "Unable to start image ... possibly the old wsgi process is still running?"
dependencies:
- build
deploy_prod:
stage: deploy
only: