119 lines
3.8 KiB
YAML
119 lines
3.8 KiB
YAML
stages:
|
|
- check
|
|
- build
|
|
- dockerize
|
|
- deploy
|
|
|
|
|
|
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}"
|
|
|
|
|
|
dockerize-api:
|
|
image: registry.hottis.de/dockerized/docker-bash:latest
|
|
stage: dockerize
|
|
tags:
|
|
- hottis
|
|
- linux
|
|
- docker
|
|
variables:
|
|
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/api
|
|
script:
|
|
- cd api
|
|
- 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
|
|
|
|
|
|
build-ui:
|
|
image: registry.hottis.de/hv2/hv2-node-build-env:1.0.0
|
|
stage: build
|
|
tags:
|
|
- hottis
|
|
- linux
|
|
- docker
|
|
artifacts:
|
|
paths:
|
|
- dist.tgz
|
|
expire_in: 1 day
|
|
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;
|
|
fi
|
|
- npm install
|
|
- ./node_modules/.bin/ng build --prod
|
|
- tar -czf ../../dist.tgz dist
|
|
|
|
dockerize-ui:
|
|
image: registry.hottis.de/dockerized/docker-bash:latest
|
|
stage: dockerize
|
|
tags:
|
|
- hottis
|
|
- linux
|
|
- docker
|
|
variables:
|
|
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/ui
|
|
script:
|
|
- cd ui
|
|
- tar -xzf ../dist.tgz
|
|
- 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
|
|
|
|
.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
|
|
--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
|
|
CONTAINER_IP: 172.16.10.38
|
|
|
|
deploy-ui:
|
|
extends:
|
|
- .deploy
|
|
variables:
|
|
IMAGE_NAME: ${CI_REGISTRY}/${CI_PROJECT_PATH}/ui
|
|
CONTAINER_NAME: hv2-ui
|
|
CONTAINER_IP: 172.16.10.39
|