Skip to content
Snippets Groups Projects

Auto build and deploy theodolite

Files
2
+ 61
0
 
stages:
 
- deploy
 
 
.deploy:
 
stage: deploy
 
tags:
 
- exec-dind
 
image: docker:19.03.1
 
services:
 
- docker:19.03.1-dind
 
variables:
 
DOCKER_TLS_CERTDIR: "/certs"
 
script:
 
- DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
 
- docker build --pull -t theodolite ./execution
 
- "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $DOCKERHUB_ORG/theodolite:${DOCKER_TAG_NAME}latest"
 
- "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $DOCKERHUB_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
 
- "[ $CI_COMMIT_TAG ] && docker tag theodolite $DOCKERHUB_ORG/theodolite:$CI_COMMIT_TAG"
 
- echo $DOCKERHUB_PW | docker login -u $DOCKERHUB_ID --password-stdin
 
- docker push $DOCKERHUB_ORG/theodolite
 
- docker logout
 
rules:
 
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $CI_COMMIT_TAG"
 
when: always
 
- changes:
 
- execution/**/*
 
if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW"
 
when: always
 
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW"
 
when: manual
 
allow_failure: true
 
 
deploy-ghcr:
 
stage: deploy
 
tags:
 
- exec-dind
 
image: docker:19.03.1
 
services:
 
- docker:19.03.1-dind
 
variables:
 
DOCKER_TLS_CERTDIR: "/certs"
 
script:
 
- DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
 
- docker build --pull -t theodolite ./execution
 
- "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME ghcr.io/$GITHUB_CR_ORG/theodolite:${DOCKER_TAG_NAME}latest"
 
- "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME ghcr.io/$GITHUB_CR_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
 
- "[ $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME ghcr.io/$GITHUB_CR_ORG/theodolite:$CI_COMMIT_TAG"
 
- echo $GITHUB_CR_TOKEN | docker login ghcr.io -u $GITHUB_CR_USER --password-stdin
 
- docker push ghcr.io/$GITHUB_CR_ORG/theodolite
 
- docker logout
 
rules:
 
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $CI_COMMIT_TAG"
 
when: always
 
- changes:
 
- execution/**/*
 
if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN"
 
when: always
 
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN"
 
when: manual
 
allow_failure: true
 
 
\ No newline at end of file
Loading