stages: - check - build - dockerize variables: IMAGE_NAME: $CI_REGISTRY/$CI_PROJECT_PATH 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" build: image: node:14-buster stage: build tags: - hottis - linux - docker rules: - if: $CI_COMMIT_TAG artifacts: paths: - dist.tgz expire_in: 1 day script: - cd hv2-ui - npm install - ./node_modules/.bin/ng build --prod - tar -czf ../dist.tgz dist dockerize: image: registry.hottis.de/dockerized/docker-bash:latest stage: dockerize tags: - hottis - linux - docker rules: - if: $CI_COMMIT_TAG script: - tar -xzf dist.tgz - docker build --tag $IMAGE_NAME:latest --tag $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 deploy: stage: deploy image: registry.hottis.de/dockerized/docker-bash:latest only: - tags tags: - hottis - linux - docker variables: GIT_STRATEGY: none script: - CONTAINER_NAME=$CI_PROJECT_NAME - docker stop $CONTAINER_NAME || echo "$CONTAINER_NAME not running, anyway okay" - docker rm $CONTAINER_NAME || echo "$CONTAINER_NAME not exsting, anyway okay" - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY; - docker pull $IMAGE_NAME:${CI_COMMIT_TAG} - docker run -d --restart always --name $CONTAINER_NAME --network docker-server --ip 172.16.10.39 $IMAGE_NAME:${CI_COMMIT_TAG}