sync: latest working state before Gitea migration (2026-08-10)
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["main", "master"]
|
branches: ["main", "master", "sales"]
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
@@ -284,6 +284,63 @@ deploy-production-source:
|
|||||||
- if: '$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
- if: '$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
||||||
allow_failure: false
|
allow_failure: false
|
||||||
|
|
||||||
|
deploy-sales-source:
|
||||||
|
stage: deploy
|
||||||
|
tags:
|
||||||
|
- call-center-prod
|
||||||
|
needs:
|
||||||
|
- test
|
||||||
|
- job: postgres-readiness
|
||||||
|
optional: true
|
||||||
|
variables:
|
||||||
|
DOCKER_HOST: ""
|
||||||
|
DOCKER_TLS_VERIFY: ""
|
||||||
|
DOCKER_CERT_PATH: ""
|
||||||
|
DOCKER_TLS_CERTDIR: ""
|
||||||
|
APP_IMAGE_NAME: call-center-app
|
||||||
|
SALES_APP_IMAGE_TAG: active-sales
|
||||||
|
SALES_DEPLOY_COMPOSE_FILE: /opt/konturai-migration/sales-call-center/docker-compose.yml
|
||||||
|
environment:
|
||||||
|
name: sales
|
||||||
|
url: https://sales.konturai.kz
|
||||||
|
before_script:
|
||||||
|
- command -v docker >/dev/null
|
||||||
|
- command -v ssh >/dev/null
|
||||||
|
- command -v scp >/dev/null
|
||||||
|
- command -v gzip >/dev/null
|
||||||
|
- mkdir -p ~/.ssh
|
||||||
|
- chmod 700 ~/.ssh
|
||||||
|
- cp "$DEPLOY_SSH_PRIVATE_KEY" ~/.ssh/id_ed25519
|
||||||
|
- chmod 600 ~/.ssh/id_ed25519
|
||||||
|
- ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts
|
||||||
|
script:
|
||||||
|
- test -n "$DEPLOY_HOST"
|
||||||
|
- test -n "$DEPLOY_USER"
|
||||||
|
- test -n "$SALES_DEPLOY_COMPOSE_FILE"
|
||||||
|
- IMAGE_ARCHIVE="call-center-app-sales-${CI_COMMIT_SHORT_SHA}.tar.gz"
|
||||||
|
- docker build -t "${APP_IMAGE_NAME}:sales-${CI_COMMIT_SHORT_SHA}" -t "${APP_IMAGE_NAME}:${SALES_APP_IMAGE_TAG}" .
|
||||||
|
- docker save "${APP_IMAGE_NAME}:sales-${CI_COMMIT_SHORT_SHA}" "${APP_IMAGE_NAME}:${SALES_APP_IMAGE_TAG}" | gzip > "$IMAGE_ARCHIVE"
|
||||||
|
- scp "$IMAGE_ARCHIVE" "${DEPLOY_USER}@${DEPLOY_HOST}:/tmp/$IMAGE_ARCHIVE"
|
||||||
|
- |
|
||||||
|
ssh "${DEPLOY_USER}@${DEPLOY_HOST}" "
|
||||||
|
set -e
|
||||||
|
SALES_COMPOSE_FILE='$SALES_DEPLOY_COMPOSE_FILE'
|
||||||
|
SALES_COMPOSE_DIR=\$(dirname \"\$SALES_COMPOSE_FILE\")
|
||||||
|
test -f \"\$SALES_COMPOSE_FILE\"
|
||||||
|
test -f \"\$SALES_COMPOSE_DIR/.env.production\"
|
||||||
|
gunzip -c /tmp/$IMAGE_ARCHIVE | sudo docker load
|
||||||
|
rm -f /tmp/$IMAGE_ARCHIVE
|
||||||
|
sudo env CALL_CENTER_IMAGE='${APP_IMAGE_NAME}:${SALES_APP_IMAGE_TAG}' docker compose -f \"\$SALES_COMPOSE_FILE\" config -q
|
||||||
|
sudo env CALL_CENTER_IMAGE='${APP_IMAGE_NAME}:${SALES_APP_IMAGE_TAG}' docker compose -f \"\$SALES_COMPOSE_FILE\" run --rm migrate
|
||||||
|
sudo env CALL_CENTER_IMAGE='${APP_IMAGE_NAME}:${SALES_APP_IMAGE_TAG}' docker compose -f \"\$SALES_COMPOSE_FILE\" up -d --no-build --remove-orphans --force-recreate
|
||||||
|
sudo docker image prune -f --filter dangling=true
|
||||||
|
sudo docker ps --filter 'name=^sales-call-center-app$' --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'
|
||||||
|
"
|
||||||
|
rules:
|
||||||
|
- if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "sales"'
|
||||||
|
- if: '$CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_BRANCH == "sales"'
|
||||||
|
allow_failure: false
|
||||||
|
|
||||||
hotfix-analyst-assets:
|
hotfix-analyst-assets:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
Reference in New Issue
Block a user