From b1b423c1e29be339d9efc94b2f6ecb9c84153fbd Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Mon, 2 Aug 2021 17:15:55 +0200 Subject: [PATCH] ci script --- .gitlab-ci.yml | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..87281c9 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,82 @@ +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 + +