diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa04781..2a57a0a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -233,13 +233,21 @@ deploy-production-source: - IMAGE_ARCHIVE="call-center-app-${CI_COMMIT_SHORT_SHA}.tar.gz" - docker build -t "${APP_IMAGE_NAME}:${CI_COMMIT_SHORT_SHA}" -t "${APP_IMAGE_NAME}:active-main" -t "${APP_IMAGE_NAME}:latest" -t "${APP_IMAGE_NAME}:ai-orchestrator" -t "${APP_IMAGE_NAME}:streaming-asr" -t "${APP_IMAGE_NAME}:asterisk-bridge" -t "${APP_IMAGE_NAME}:reporting-supervisor" . - docker save "${APP_IMAGE_NAME}:${CI_COMMIT_SHORT_SHA}" "${APP_IMAGE_NAME}:active-main" "${APP_IMAGE_NAME}:latest" "${APP_IMAGE_NAME}:ai-orchestrator" "${APP_IMAGE_NAME}:streaming-asr" "${APP_IMAGE_NAME}:asterisk-bridge" "${APP_IMAGE_NAME}:reporting-supervisor" | gzip > "$IMAGE_ARCHIVE" + - | + DEPLOY_COMPOSE_DIR="${DEPLOY_COMPOSE_FILE%/*}" + if [ "$DEPLOY_COMPOSE_DIR" = "$DEPLOY_COMPOSE_FILE" ]; then + DEPLOY_COMPOSE_DIR="." + fi + ssh "${DEPLOY_USER}@${DEPLOY_HOST}" "mkdir -p '$DEPLOY_COMPOSE_DIR'" + scp -r deployment/. "${DEPLOY_USER}@${DEPLOY_HOST}:$DEPLOY_COMPOSE_DIR/" - scp "$IMAGE_ARCHIVE" "${DEPLOY_USER}@${DEPLOY_HOST}:/tmp/$IMAGE_ARCHIVE" - | ssh "${DEPLOY_USER}@${DEPLOY_HOST}" " set -e gunzip -c /tmp/$IMAGE_ARCHIVE | sudo docker load rm -f /tmp/$IMAGE_ARCHIVE - sudo docker compose -f '${DEPLOY_COMPOSE_FILE}' up -d --force-recreate + sudo docker compose -f '${DEPLOY_COMPOSE_FILE}' config -q + sudo docker compose -f '${DEPLOY_COMPOSE_FILE}' up -d --remove-orphans --force-recreate if sudo docker ps -a --format '{{.Names}}' | grep -Fxq 'call-center-ai-voice-runtime-service-1'; then sudo docker inspect --format '{{range .Config.Env}}{{println .}}{{end}}' call-center-ai-voice-runtime-service-1 > /tmp/call-center-ai-voice-runtime.env sudo docker rm -f call-center-ai-voice-runtime-service-1