hv2-all-in-one/.gitlab-ci.yml

122 lines
4.0 KiB
YAML
Raw Normal View History

2021-08-02 17:15:55 +02:00
stages:
- check
- build
2021-08-02 17:43:11 +02:00
- dockerize
2021-09-11 17:46:29 +02:00
- deploy
2021-08-02 17:15:55 +02:00
check:
image: registry.hottis.de/dockerized/base-build-env:latest
stage: check
tags:
- hottis
- linux
- docker
rules:
- if: $CI_COMMIT_TAG
script:
- checksemver.py -v
--versionToValidate "${CI_COMMIT_TAG}"
--validateMessage
--messageToValidate "${CI_COMMIT_MESSAGE}"
2021-08-02 17:43:11 +02:00
dockerize-api:
2021-08-02 17:15:55 +02:00
image: registry.hottis.de/dockerized/docker-bash:latest
2021-08-02 17:43:11 +02:00
stage: dockerize
2021-08-02 17:15:55 +02:00
tags:
- hottis
- linux
- docker
variables:
2021-08-02 17:55:15 +02:00
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/api
2021-08-02 17:15:55 +02:00
script:
- cd api
2021-08-02 17:51:26 +02:00
- docker build --tag ${IMAGE_NAME}:latest .
2021-08-02 17:15:55 +02:00
- if [ "$CI_COMMIT_TAG" != "" ]; then
docker tag $IMAGE_NAME:latest $IMAGE_NAME:${CI_COMMIT_TAG};
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY;
docker push $IMAGE_NAME:latest;
docker push $IMAGE_NAME:${CI_COMMIT_TAG};
fi
build-ui:
image: registry.hottis.de/hv2/hv2-node-build-env:1.0.0
stage: build
tags:
- hottis
- linux
- docker
2021-08-02 17:43:11 +02:00
artifacts:
paths:
- dist.tgz
expire_in: 1 day
2021-08-02 17:15:55 +02:00
script:
- cd ui/hv2-ui
- if [ "$CI_COMMIT_TAG" != "" ]; then
sed -i -e 's/GITTAGVERSION/'"$CI_COMMIT_TAG"':'"$CI_COMMIT_SHORT_SHA"'/' ./src/app/navigation/navigation.component.html;
2021-09-11 18:13:02 +02:00
sed -i -e 's,http://localhost:8080,https://api.hv.nober.de,' ./src/app/config.ts;
2021-08-02 17:15:55 +02:00
fi
- npm install
- ./node_modules/.bin/ng build --prod
2021-08-02 17:51:26 +02:00
- tar -czf ../../dist.tgz dist
2021-08-02 17:43:11 +02:00
dockerize-ui:
image: registry.hottis.de/dockerized/docker-bash:latest
stage: dockerize
tags:
- hottis
- linux
- docker
variables:
2021-08-02 18:00:09 +02:00
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/ui
2021-08-02 17:43:11 +02:00
script:
2021-08-02 17:51:26 +02:00
- cd ui
- tar -xzf ../dist.tgz
2021-08-02 17:15:55 +02:00
- docker build --tag $IMAGE_NAME:latest .
- if [ "$CI_COMMIT_TAG" != "" ]; then
docker tag $IMAGE_NAME:latest $IMAGE_NAME:${CI_COMMIT_TAG};
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY;
docker push $IMAGE_NAME:latest;
docker push $IMAGE_NAME:${CI_COMMIT_TAG};
fi
2021-09-11 17:46:29 +02:00
.deploy:
image: registry.hottis.de/dockerized/docker-bash:latest
stage: deploy
tags:
- hottis
- linux
- docker
only:
- tags
variables:
GIT_STRATEGY: none
script:
- docker stop $CONTAINER_NAME || echo "container not running, never mind"
- docker rm $CONTAINER_NAME || echo "container not existing, never mind"
- docker run -d --network docker-server
--ip $CONTAINER_IP
2021-09-11 19:02:00 +02:00
$VOLUMEOPT
2021-09-11 17:46:29 +02:00
--name $CONTAINER_NAME
--restart always
$IMAGE_NAME:$CI_COMMIT_TAG
deploy-api:
extends:
- .deploy
variables:
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/api
CONTAINER_NAME: hv2-api
2021-09-11 17:52:38 +02:00
CONTAINER_IP: 172.16.10.38
2021-09-11 19:02:00 +02:00
VOLUMEOPT: -v hv2-api-conf:/opt/app/config
2021-08-02 17:15:55 +02:00
2021-09-11 17:46:29 +02:00
deploy-ui:
extends:
- .deploy
variables:
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/ui
CONTAINER_NAME: hv2-ui
2021-09-11 17:52:38 +02:00
CONTAINER_IP: 172.16.10.39