Skip to content

Instantly share code, notes, and snippets.

@ondrejsika
Created April 21, 2018 05:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ondrejsika/a46e99ba53289564745b3dafa2be2b3d to your computer and use it in GitHub Desktop.
Save ondrejsika/a46e99ba53289564745b3dafa2be2b3d to your computer and use it in GitHub Desktop.
variables:
NAME: skolenidockercz
PROD_URL: skoleni-docker.cz
SSH: sshpass -e ssh -o StrictHostKeyChecking=no root@bar.l.oxs.cz -p 22202
TRAEFIK_DEV: -l traefik.frontend.rule=Host:$NAME-$CI_COMMIT_REF_NAME.b.h4y.cz -l traefik.port=80 -l traefix.port=443 -l traefik.frontend.entryPoints=http,https
TRAEFIK_PROD: -l traefik.frontend.rule=Host:$PROD_URL,www.$PROD_URL -l traefik.port=80 -l traefix.port=443 -l traefik.frontend.entryPoints=http,https
CONTAINER_DEV: dev-$NAME-$CI_COMMIT_REF_NAME
CONTAINER_PROD: prod-$NAME
stages:
- build
- deploy_dev
- deploy_prod
job_build:
stage: build
script:
- docker build -t reg.istry.cz/$NAME:$CI_PIPELINE_ID .
- docker push reg.istry.cz/$NAME:$CI_PIPELINE_ID
job_deploy_dev:
image: ondrejsika/ci
stage: deploy_dev
script:
- $SSH docker rm -f $CONTAINER_DEV || true
- $SSH docker run $TRAEFIK_DEV --name=$CONTAINER_DEV -d reg.istry.cz/$NAME:$CI_PIPELINE_ID
environment:
name: dev-$CI_COMMIT_REF_NAME
url: https://$NAME-$CI_COMMIT_REF_NAME.b.h4y.cz
on_stop: job_deploy_dev_stop
job_deploy_dev_stop:
image: ondrejsika/ci
stage: deploy_dev
when: manual
script:
- $SSH docker rm -f $CONTAINER_DEV || true
environment:
name: dev-$CI_COMMIT_REF_NAME
action: stop
job_deploy_prod:
image: ondrejsika/ci
stage: deploy_prod
when: manual
script:
- $SSH docker rm -f $CONTAINER_PROD || true
- $SSH docker run $TRAEFIK_PROD --name=$CONTAINER_PROD -d reg.istry.cz/$NAME:$CI_PIPELINE_ID
environment:
name: production
url: https://skoleni-docker.cz
job_deploy_prod_stop:
image: ondrejsika/ci
stage: deploy_prod
when: manual
script:
- $SSH docker rm -f $CONTAINER_PROD || true
environment:
name: production
action: stop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment