From 0697d5b6b43e8c60dcf330a9580d722df47585f2 Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Tue, 6 Feb 2024 08:53:52 +1000 Subject: [PATCH] feat(nextRun): cicd --- .gitlab-ci.yml | 53 ++++++++++++++++++++++++++++++++++++- docker-compose.next-run.yml | 26 ++++++++++++++++++ 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 docker-compose.next-run.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0544454d..3566ace3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,6 +9,7 @@ variables: PROD_NAME_ESPP_ORDER_LOADER: "parr/parr-espp-order-loader" PROD_NAME_ESPP_ORDER_MANAGER: "parr/parr-espp-order-manager" PROD_NAME_MASTER: "parr/parr-master" + PROD_NAME_NEXT_RUN: "parr/parr-next-run" stages: - build @@ -456,4 +457,54 @@ prod_espp_schedule_deploy: matrix: - RUNNER: shell-api-swarm-01 tags: - - ${RUNNER} \ No newline at end of file + - ${RUNNER} + + + +### NEXT RUN PROD ### +prod_next_run_build: + stage: build + only: + - /^nr[0-9]+\.[0-9]+\.[0-9]+$/ + except: + - branches + services: + - name: docker:20.10.21-dind + command: [ + "--insecure-registry=10.99.253.167:8090", + "--registry-mirror=http://10.99.253.167:8090", + "--insecure-registry=harbor.dvgd.rzd", + "--tls=false" + ] + variables: + DOCKER_HOST: tcp://docker:2375 + DOCKER_DRIVER: overlay2 + DOCKER_TLS_CERTDIR: "" + script: + - APP_VERSION=$(echo $CI_COMMIT_TAG | tr -d nr) + - IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/nr/v/g') + - docker build -t $REPO/$PROD_NAME_NEXT_RUN:$IMAGE_VERSION -t $REPO/$PROD_NAME_NEXT_RUN:latest -t $PROD_NAME_NEXT_RUN:$IMAGE_VERSION -t $PROD_NAME_NEXT_RUN:latest --build-arg app_version=$APP_VERSION -f PARR.NextRunWorker/Dockerfile . + - docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO + - docker push --all-tags $REPO/$PROD_NAME_NEXT_RUN + tags: + - docker + + +prod_next_run_deploy: + stage: deploy + environment: + name: parr-next-run + only: + - /^nr[0-9]+\.[0-9]+\.[0-9]+$/ + except: + - branches + script: + - IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/nr/v/g') + - docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO + - tag=$IMAGE_VERSION docker stack deploy -c docker-compose.next-run.yml parr-next-run --with-registry-auth + parallel: + matrix: + - RUNNER: shell-api-swarm-01 + tags: + - ${RUNNER} + diff --git a/docker-compose.next-run.yml b/docker-compose.next-run.yml new file mode 100644 index 00000000..cfd4821f --- /dev/null +++ b/docker-compose.next-run.yml @@ -0,0 +1,26 @@ +version: '3.4' + +# NEXT RUN +services: + parr-next-run: + image: harbor.dvgd.rzd/parr/parr-next-run:${tag:-latest} + environment: + - ASPNETCORE_ENVIRONMENT=Production + - TZ=Europe/Moscow + logging: + driver: fluentd + options: + fluentd-address: dvgd-efk-01.dvgd.oao.rzd:24224 + fluentd-retry-wait: '30s' + fluentd-max-retries: '30' + tag: parr.next-run.serilog + deploy: + replicas: 1 + networks: + - parr-network + +networks: + parr-network: + driver: overlay + external: true +