feat(templateGeneratorWorker): ci/cd, основной метод вынесен в отдельный класс.

This commit is contained in:
Mikhail Kuznetsov
2025-08-19 11:13:56 +10:00
parent 2c005f038e
commit 963da184f1
9 changed files with 202 additions and 127 deletions

View File

@@ -13,6 +13,7 @@ variables:
PROD_NAME_NEXT_RUN: "parr/parr-next-run"
PROD_TEMPLATE_DISTRIBOTOR: "parr/parr-template-distributor"
PROD_TEMPLATE_ACTIVATOR: "parr/parr-template-activator"
PROD_TEMPLATE_GENERATOR: "parr/parr-template-generator"
PROD_JOB_AUTO_CONTROL: "parr/parr-job-auto-control"
stages:
@@ -659,6 +660,54 @@ prod_template_activator_deploy:
- ${RUNNER}
### TEMPLATE GENERATOR PROD ###
prod_template_generator_build:
stage: build
only:
- /^tg[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 tg)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/tg/v/g')
- docker build -t $REPO/$PROD_TEMPLATE_GENERATOR:$IMAGE_VERSION -t $REPO/$PROD_TEMPLATE_GENERATORR:latest -t $PROD_TEMPLATE_GENERATOR:$IMAGE_VERSION -t $PROD_TEMPLATE_GENERATOR:latest --build-arg app_version=$APP_VERSION -f PARR.TemplateGeneratorWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_TEMPLATE_GENERATOR
tags:
- docker
prod_template_generator_deploy:
stage: deploy
environment:
name: parr-template-generator
only:
- /^tg[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/tg/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.template-generator.yml parr-template-generator --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### JOB AUTO CONTROL PROD ###
prod_job_auto_control_build:
stage: build