feat(aihit): init + docker + cicd

This commit is contained in:
Mikhail Kuznetsov
2024-01-31 12:26:43 +10:00
parent 56e8477bf1
commit 2fa4d52e72
23 changed files with 450 additions and 20 deletions

View File

@@ -1,7 +1,8 @@
variables:
REPO: "harbor.dvgd.rzd"
PROD_NAME_API: "parr/parr-api"
PROD_NAME_AIHIT: "parr/parr-aihit-syncher"
PROD_NAME_AIHIT_LOADER: "parr/parr-aihit-loader"
PROD_NAME_AIHIT_SYNCER: "parr/parr-aihit-syncer"
PROD_NAME_ESPP_TEMPLATE: "parr/parr-espp-template-sync"
PROD_NAME_ESPP_SCHEDULE: "parr/parr-espp-schedule-sync"
PROD_NAME_GENERATOR_TEMPLATES: "parr/parr-generator-templates"
@@ -65,10 +66,59 @@ prod_deploy:
- ${RUNNER}
### AIHIT LOADER PROD ###
prod_aihit_loader_build:
stage: build
only:
- /^al[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=10.99.253.167:8088",
"--registry-mirror=http://10.99.253.167:8088",
"--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 al)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/al/v/g')
- docker build -t $REPO/$PROD_NAME_AIHIT_LOADER:$IMAGE_VERSION -t $REPO/$PROD_NAME_AIHIT_LOADER:latest -t $PROD_NAME_AIHIT_LOADER:$IMAGE_VERSION -t $PROD_NAME_AIHIT_LOADER:latest --build-arg app_version=$APP_VERSION -f PARR.AIHITLoaderWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_AIHIT_LOADER
tags:
- docker
### AIHIT PROD ###
prod_aihit_build:
prod_aihit_loader_deploy:
stage: deploy
environment:
name: parr-aihit-loader
only:
- /^al[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/al/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker compose -f docker-compose.aihit-loader.yml up -d
parallel:
matrix:
- RUNNER: shell-as-1
tags:
- ${RUNNER}
### AIHIT SYNCER PROD ###
prod_aihit_syncer_build:
stage: build
only:
- /^as[0-9]+\.[0-9]+\.[0-9]+$/
@@ -91,17 +141,17 @@ prod_aihit_build:
script:
- APP_VERSION=$(echo $CI_COMMIT_TAG | tr -d as)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/as/v/g')
- docker build -t $REPO/$PROD_NAME_AIHIT:$IMAGE_VERSION -t $REPO/$PROD_NAME_AIHIT:latest -t $PROD_NAME_AIHIT:$IMAGE_VERSION -t $PROD_NAME_AIHIT:latest --build-arg app_version=$APP_VERSION -f PARR.Worker/PARR.Worker/Dockerfile .
- docker build -t $REPO/$PROD_NAME_AIHIT_SYNCER:$IMAGE_VERSION -t $REPO/$PROD_NAME_AIHIT_SYNCER:latest -t $PROD_NAME_AIHIT_SYNCER:$IMAGE_VERSION -t $PROD_NAME_AIHIT_SYNCER:latest --build-arg app_version=$APP_VERSION -f PARR.AIHITSyncerWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_AIHIT
- docker push --all-tags $REPO/$PROD_NAME_AIHIT_SYNCER
tags:
- docker-as
- docker
prod_aihit_deploy:
prod_aihit_syncer_deploy:
stage: deploy
environment:
name: parr-aihit-syncher
name: parr-aihit-syncer
only:
- /^as[0-9]+\.[0-9]+\.[0-9]+$/
except:
@@ -109,10 +159,10 @@ prod_aihit_deploy:
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/as/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker compose -f docker-compose.aihit-syncher.yml up -d
- tag=$IMAGE_VERSION docker compose -f docker-compose.aihit-syncer.yml up -d
parallel:
matrix:
- RUNNER: shell-as-1
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}