Files
parr_api/.gitlab-ci.yml
2025-12-04 08:23:57 +10:00

903 lines
29 KiB
YAML

variables:
REPO: "harbor.dvgd.rzd"
PROD_NAME_API: "parr/parr-api"
PROD_NAME_AIHIT_LOADER: "parr/parr-aihit-loader"
PROD_NAME_AIHIT_SYNCER: "parr/parr-aihit-syncer"
PROD_NAME_AIHIT_RELATIONSHIPS_SYNCER: "parr/parr-aihit-relationships-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"
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"
PROD_TEMPLATE_DISTRIBOTOR: "parr/parr-template-distributor"
PROD_TEMPLATE_ACTIVATOR: "parr/parr-template-activator"
PROD_TEMPLATE_GENERATOR: "parr/parr-template-generator"
PROD_TEMPLATE_TASK_GENERATOR: "parr/parr-template-task-generator"
PROD_JOB_AUTO_CONTROL: "parr/parr-job-auto-control"
PROD_TEMPLATE_MATCHER: "parr/parr-template-matcher"
PROD_TEMPLATE_UPDATER: "parr/parr-template-updater"
stages:
- build
- deploy
### API PROD ###
prod_build:
stage: build
only:
- /^v[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:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | tr -d v)
- docker build -t $REPO/$PROD_NAME_API:$CI_COMMIT_TAG -t $REPO/$PROD_NAME_API:latest -t $PROD_NAME_API:$CI_COMMIT_TAG -t $PROD_NAME_API:latest --build-arg app_version=$IMAGE_VERSION -f PARR.API/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_API
tags:
- docker
prod_deploy:
stage: deploy
environment:
name: prod
url: http://10.99.253.216:8082/api/v1/version
only:
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
#- tag=$CI_COMMIT_TAG docker compose up -d
- tag=$CI_COMMIT_TAG docker stack deploy -c docker-compose.yml parr-api --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
#- RUNNER: shell-1
tags:
- ${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
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]+$/
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 as)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/as/v/g')
- 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_SYNCER
tags:
- docker
prod_aihit_syncer_deploy:
stage: deploy
environment:
name: parr-aihit-syncer
only:
- /^as[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
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 stack deploy -c docker-compose.aihit-syncer.yml parr-aihit-syncer --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### AIHIT RELATIONSHPS SYNCER PROD ###
prod_aihit_relationships_syncer_build:
stage: build
only:
- /^ars[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://c: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 ars)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ars/v/g')
- docker build -t $REPO/$PROD_NAME_AIHIT_RELATIONSHIPS_SYNCER:$IMAGE_VERSION -t $REPO/$PROD_NAME_AIHIT_RELATIONSHIPS_SYNCER:latest -t $PROD_NAME_AIHIT_RELATIONSHIPS_SYNCER:$IMAGE_VERSION -t $PROD_NAME_AIHIT_RELATIONSHIPS_SYNCER:latest --build-arg app_version=$APP_VERSION -f PARR.AIHITRelationshipsSyncerWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_AIHIT_RELATIONSHIPS_SYNCER
tags:
- docker
prod_aihit_relationships_syncer_deploy:
stage: deploy
environment:
name: parr-aihit-relationships-syncer
only:
- /^ars[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ars/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker compose -f docker-compose.aihit-relationships-syncer.yml up -d
parallel:
matrix:
- RUNNER: shell-as-1
tags:
- ${RUNNER}
### ESPP TEMPLATE PROD ###
prod_espp-template_build:
stage: build
only:
- /^et[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 et)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/et/v/g')
- docker build -t $REPO/$PROD_NAME_ESPP_TEMPLATE:$IMAGE_VERSION -t $REPO/$PROD_NAME_ESPP_TEMPLATE:latest -t $PROD_NAME_ESPP_TEMPLATE:$IMAGE_VERSION -t $PROD_NAME_ESPP_TEMPLATE:latest --build-arg app_version=$APP_VERSION -f PARR.EsppTemplateSyncWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_ESPP_TEMPLATE
tags:
- docker-et
prod_espp-template_deploy:
stage: deploy
environment:
name: parr-espp-template-sync
only:
- /^et[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/et/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
#- tag=$IMAGE_VERSION docker compose -f docker-compose.espp-template-sync.yml up -d
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.espp-template-sync.yml parr-espp --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
#- RUNNER: shell-et-1
tags:
- ${RUNNER}
### GENERATOR TEMPLATES PROD ###
prod_generator_templates_build:
stage: build
only:
- /^gt[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 gt)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/gt/v/g')
- docker build -t $REPO/$PROD_NAME_GENERATOR_TEMPLATES:$IMAGE_VERSION -t $REPO/$PROD_NAME_GENERATOR_TEMPLATES:latest -t $PROD_NAME_GENERATOR_TEMPLATES:$IMAGE_VERSION -t $PROD_NAME_GENERATOR_TEMPLATES:latest --build-arg app_version=$APP_VERSION -f PARR.GeneratorTemplatesWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_GENERATOR_TEMPLATES
tags:
- docker
prod_generator_templates_deploy:
stage: deploy
environment:
name: parr-generator-templates-sync
only:
- /^gt[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/gt/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.generator-templates.yml parr-generator-templates --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### ESPP ORDER LOADER PROD ###
prod_espp_order_loader_build:
stage: build
only:
- /^ol[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 ol)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ol/v/g')
- docker build -t $REPO/$PROD_NAME_ESPP_ORDER_LOADER:$IMAGE_VERSION -t $REPO/$PROD_NAME_ESPP_ORDER_LOADER:latest -t $PROD_NAME_ESPP_ORDER_LOADER:$IMAGE_VERSION -t $PROD_NAME_ESPP_ORDER_LOADER:latest --build-arg app_version=$APP_VERSION -f PARR.EsppOrderLoaderWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_ESPP_ORDER_LOADER
tags:
- docker
prod_espp_order_loader_deploy:
stage: deploy
environment:
name: parr-espp-order-loader
only:
- /^ol[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ol/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.espp-order-loader.yml parr-espp-order-loader --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### ESPP ORDER MANAGER PROD ###
prod_espp_order_manager_build:
stage: build
only:
- /^om[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 om)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/om/v/g')
- docker build -t $REPO/$PROD_NAME_ESPP_ORDER_MANAGER:$IMAGE_VERSION -t $REPO/$PROD_NAME_ESPP_ORDER_MANAGER:latest -t $PROD_NAME_ESPP_ORDER_MANAGER:$IMAGE_VERSION -t $PROD_NAME_ESPP_ORDER_MANAGER:latest --build-arg app_version=$APP_VERSION -f PARR.EsppOrderManagerWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_ESPP_ORDER_MANAGER
tags:
- docker
prod_espp_order_manager_deploy:
stage: deploy
environment:
name: parr-espp-order-manager
only:
- /^om[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/om/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.espp-order-manager.yml parr-espp-order-manager --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### MASTER PROD ###
prod_master_build:
stage: build
only:
- /^m[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 m)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/m/v/g')
- docker build -t $REPO/$PROD_NAME_MASTER:$IMAGE_VERSION -t $REPO/$PROD_NAME_MASTER:latest -t $PROD_NAME_MASTER:$IMAGE_VERSION -t $PROD_NAME_MASTER:latest --build-arg app_version=$APP_VERSION -f PARR.MasterWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_MASTER
tags:
- docker
prod_master_deploy:
stage: deploy
environment:
name: parr-master
only:
- /^m[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/m/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.master.yml parr-master --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### ESPP SCHEDULE SYNC PROD ###
prod_espp_schedule_build:
stage: build
only:
- /^es[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 es)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/es/v/g')
- docker build -t $REPO/$PROD_NAME_ESPP_SCHEDULE:$IMAGE_VERSION -t $REPO/$PROD_NAME_ESPP_SCHEDULE:latest -t $PROD_NAME_ESPP_SCHEDULE:$IMAGE_VERSION -t $PROD_NAME_ESPP_SCHEDULE:latest --build-arg app_version=$APP_VERSION -f PARR.EsppScheduleSyncWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_ESPP_SCHEDULE
tags:
- docker
prod_espp_schedule_deploy:
stage: deploy
environment:
name: parr-espp-schedule-sync
only:
- /^es[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/es/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.espp-schedule-sync.yml parr-espp-schedule-sync --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${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}
### TEMPLATE DISTRIBUTOR PROD ###
prod_template_distributor_build:
stage: build
only:
- /^td[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 td)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/td/v/g')
- docker build -t $REPO/$PROD_TEMPLATE_DISTRIBOTOR:$IMAGE_VERSION -t $REPO/$PROD_TEMPLATE_DISTRIBOTOR:latest -t $PROD_TEMPLATE_DISTRIBOTOR:$IMAGE_VERSION -t $PROD_TEMPLATE_DISTRIBOTOR:latest --build-arg app_version=$APP_VERSION -f PARR.TemplateDistributorWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_TEMPLATE_DISTRIBOTOR
tags:
- docker
prod_template_distributor_deploy:
stage: deploy
environment:
name: parr-template-distributor
only:
- /^td[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/td/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.template-distributor.yml parr-template-distributor --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### TEMPLATE ACTIVATOR PROD ###
prod_template_activator_build:
stage: build
only:
- /^ta[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 ta)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ta/v/g')
- docker build -t $REPO/$PROD_TEMPLATE_ACTIVATOR:$IMAGE_VERSION -t $REPO/$PROD_TEMPLATE_ACTIVATOR:latest -t $PROD_TEMPLATE_ACTIVATOR:$IMAGE_VERSION -t $PROD_TEMPLATE_ACTIVATOR:latest --build-arg app_version=$APP_VERSION -f PARR.TemplateActivatorWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_TEMPLATE_ACTIVATOR
tags:
- docker
prod_template_activator_deploy:
stage: deploy
environment:
name: parr-template-activator
only:
- /^ta[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ta/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.template-activator.yml parr-template-activator --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${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_GENERATOR: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}
### TEMPLATE TASK GENERATOR PROD ###
prod_template_task_generator_build:
stage: build
only:
- /^ttg[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 ttg)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ttg/v/g')
- docker build -t $REPO/$PROD_TEMPLATE_TASK_GENERATOR:$IMAGE_VERSION -t $REPO/$PROD_TEMPLATE_TASK_GENERATOR:latest -t $PROD_TEMPLATE_TASK_GENERATOR:$IMAGE_VERSION -t $PROD_TEMPLATE_TASK_GENERATOR:latest --build-arg app_version=$APP_VERSION -f PARR.TemplateTaskGeneratorWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_TEMPLATE_TASK_GENERATOR
tags:
- docker
prod_template_task_generator_deploy:
stage: deploy
environment:
name: parr-template-task-generator
only:
- /^ttg[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/ttg/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.template-task-generator.yml parr-template-task-generator --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### JOB AUTO CONTROL PROD ###
prod_job_auto_control_build:
stage: build
only:
- /^jac[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 jac)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/jac/v/g')
- docker build -t $REPO/$PROD_JOB_AUTO_CONTROL:$IMAGE_VERSION -t $REPO/$PROD_JOB_AUTO_CONTROL:latest -t $PROD_JOB_AUTO_CONTROL:$IMAGE_VERSION -t $PROD_JOB_AUTO_CONTROL:latest --build-arg app_version=$APP_VERSION -f PARR.JobAutoControlWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_JOB_AUTO_CONTROL
tags:
- docker
prod_job_auto_control_deploy:
stage: deploy
environment:
name: parr-job-auto-control
only:
- /^jac[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/jac/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.job-auto-control.yml parr-job-auto-control --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### TEMPLATE MATCHER PROD ###
prod_template_matcher_build:
stage: build
only:
- /^tm[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 tm)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/tm/v/g')
- docker build -t $REPO/$PROD_TEMPLATE_MATCHER:$IMAGE_VERSION -t $REPO/$PROD_TEMPLATE_MATCHER:latest -t $PROD_TEMPLATE_MATCHER:$IMAGE_VERSION -t $PROD_TEMPLATE_MATCHER:latest --build-arg app_version=$APP_VERSION -f PARR.TemplateMatcherWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_TEMPLATE_MATCHER
tags:
- docker
prod_template_matcher_deploy:
stage: deploy
environment:
name: parr-template-matcher
only:
- /^tm[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/tm/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.template-matcher.yml parr-template-matcher --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}
### TEMPLATE UPDATER PROD ###
prod_template_updater_build:
stage: build
only:
- /^tu[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 tu)
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/tu/v/g')
- docker build -t $REPO/$PROD_TEMPLATE_UPDATER:$IMAGE_VERSION -t $REPO/$PROD_TEMPLATE_UPDATER:latest -t $PROD_TEMPLATE_UPDATER:$IMAGE_VERSION -t $PROD_TEMPLATE_UPDATER:latest --build-arg app_version=$APP_VERSION -f PARR.TemplateUpdaterWorker/Dockerfile .
- docker login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_TEMPLATE_UPDATER
tags:
- docker
prod_template_updater_deploy:
stage: deploy
environment:
name: parr-template-updater
only:
- /^tu[0-9]+\.[0-9]+\.[0-9]+$/
except:
- branches
script:
- IMAGE_VERSION=$(echo $CI_COMMIT_TAG | sed 's/tu/v/g')
- docker login -u $HARBOR_PULL_USER -p $HARBOR_PULL_PASS $REPO
- tag=$IMAGE_VERSION docker stack deploy -c docker-compose.template-updater.yml parr-template-updater --with-registry-auth
parallel:
matrix:
- RUNNER: shell-api-swarm-01
tags:
- ${RUNNER}