Files
parr_api/.gitlab-ci.yml
Mikhail Trubnikov be848ea0b3 test api swarm
2023-09-14 10:15:46 +10:00

163 lines
4.8 KiB
YAML

variables:
REPO: "harbor.dvgd.rzd"
PROD_NAME_API: "parr/parr-api"
PROD_NAME_AIHIT: "parr/parr-aihit-syncher"
PROD_NAME_ESPP_TEMPLATE: "parr/parr-espp-template-sync"
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.215: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
# tag=$IMAGE_VERSION docker compose -f docker-compose.aihit-syncher.yml up -d
parallel:
matrix:
- RUNNER: shell-api-swarm-01
#- RUNNER: shell-1
tags:
- ${RUNNER}
### AIHIT PROD ###
prod_aihit_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:$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 login -u $HARBOR_PUSH_USER -p $HARBOR_PUSH_PASS $REPO
- docker push --all-tags $REPO/$PROD_NAME_AIHIT
tags:
- docker-as
prod_aihit_deploy:
stage: deploy
environment:
name: parr-aihit-syncher
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 compose -f docker-compose.aihit-syncher.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
# parallel:
# matrix:
# - RUNNER: shell-et-1
# tags:
# - ${RUNNER}