stages: - check - generate - build - deploy variables: IMAGE_BASE: $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}" generate: image: registry.hottis.de/dockerized/base-build-env:latest stage: generate tags: - hottis - linux - docker script: - ./generate.sh build-api: image: registry.hottis.de/dockerized/docker-bash:latest stage: build tags: - hottis - linux - docker variables: IMAGE_NAME=${IMAGE_BASE}/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 variables: IMAGE_NAME=${IMAGE_BASE}/api 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 - mv dist .. - cd .. - 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