65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
stages:
|
|
- dockerize
|
|
- deploy
|
|
|
|
variables:
|
|
IMAGE_NAME: $CI_REGISTRY/$CI_PROJECT_PATH
|
|
|
|
dockerize:
|
|
image: registry.hottis.de/dockerized/docker-bash:latest
|
|
stage: dockerize
|
|
tags:
|
|
- hottis
|
|
- linux
|
|
- docker
|
|
script:
|
|
- docker build --tag $IMAGE_NAME:${CI_COMMIT_SHORT_SHA} .
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY;
|
|
- docker push $IMAGE_NAME:${CI_COMMIT_SHORT_SHA}
|
|
- if [ "$CI_COMMIT_TAG" != "" ]; then
|
|
docker tag $IMAGE_NAME:${CI_COMMIT_SHORT_SHA} $IMAGE_NAME:${CI_COMMIT_TAG};
|
|
docker push $IMAGE_NAME:${CI_COMMIT_TAG};
|
|
fi
|
|
|
|
.deploy:
|
|
image: registry.hottis.de/dockerized/docker-bash:latest
|
|
stage: deploy
|
|
only:
|
|
- tags
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
CONTAINER_NAME: level-preprocessor
|
|
script:
|
|
- docker stop $CONTAINER_NAME || echo "container not running, never mind"
|
|
- docker rm $CONTAINER_NAME || echo "container not existing, never mind"
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
|
|
- docker run
|
|
-d
|
|
--name $CONTAINER_NAME
|
|
--restart always
|
|
--network internal-network
|
|
-e "APPLICATION_TENANT=$APPLICATION_TENANT"
|
|
-e "MQTT_LOGIN=$MQTT_LOGIN"
|
|
-e "MQTT_PASSWORD=$MQTT_PASSWORD"
|
|
-e "MQTT_BROKER=$MQTT_BROKER"
|
|
-e "PGHOST=timescaledb"
|
|
-e "PGUSER=$PGUSER"
|
|
-e "PGPASSWORD=$PGPASSWORD"
|
|
-e "PGDATABASE=$PGDATABASE"
|
|
$IMAGE_NAME:$CI_COMMIT_TAG
|
|
- docker network connect external-network $CONTAINER_NAME
|
|
|
|
deploy-saerbeck:
|
|
extends: .deploy
|
|
tags:
|
|
- saerbeck-deployment-only
|
|
environment:
|
|
name: saerbeck-production
|
|
|
|
deploy-berresheim:
|
|
extends: .deploy
|
|
tags:
|
|
- berresheim-deployment-only
|
|
environment:
|
|
name: berresheim-production
|