Commit ee51f053 authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

refactor(tools): 将 deploy_csu.sh 替换为通用的 deploy.sh 脚本

parent ae2de975
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -49,11 +49,9 @@ export HARBOR_API_PROJECT=csst
make ansible-update
```

`tools/deploy_csu.sh` 保持为简单脚本,但内部执行的是可靠的两段式流程`build -> push -> clean -> ansible-update-master -> ansible-update-worker`
-先更新 `master`(包括 `portal/api-gateway/flower` 等控制面容器),再滚动更新 `worker`
`tools/deploy.sh` 保持为简单脚本:`build -> push -> clean -> ansible-deploy`
-按当前 inventory 和配置执行一次完整 `deploy`
- 脚本通过预先 `export` 的环境变量驱动 `make`,不在 `make` 命令行内联传参。
- 脚本固定导出 `registry_pull=true`,即使测试阶段重复使用 `BUILD_NUMBER=100000`,远端也会强制拉取最新镜像。
- 脚本固定导出 `allow_busy_worker_update=false`,busy worker 会被跳过而不是强制中断。

提示:仓库根目录的 `Makefile` 是 wrapper,默认转发到 `docker-celery-3.0.5/` 目录执行。如果未来目录变更,可通过 `SUBDIR=...` 指定。

+2 −8
Original line number Diff line number Diff line
@@ -6,15 +6,12 @@ set -euo pipefail
#   BUILD_NUMBER             Image tag / build number. Default: 100000
#   HARBOR_API_URL           Harbor base URL used to derive image prefix
#   HARBOR_API_PROJECT       Harbor project used to derive image prefix
#   REGISTRY_PULL            Whether update should pull from registry. Default: true
#   ALLOW_BUSY_WORKER_UPDATE Whether busy workers may be updated. Default: false
#
# Example:
#   ENV=csu BUILD_NUMBER=100100 \
#   HARBOR_API_URL=https://csu-harbor.csst.nao:10443 \
#   HARBOR_API_PROJECT=csst \
#   REGISTRY_PULL=true ALLOW_BUSY_WORKER_UPDATE=false \
#   bash tools/deploy_csu.sh
#   bash tools/deploy.sh

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
PROJECT_DIR="${ROOT_DIR}/docker-celery-3.0.5"
@@ -22,8 +19,6 @@ PROJECT_DIR="${ROOT_DIR}/docker-celery-3.0.5"
# Minimal example defaults for a single environment deploy.
ENV="${ENV:-csu}"
BUILD_NUMBER="${BUILD_NUMBER:-100000}"
REGISTRY_PULL="${REGISTRY_PULL:-true}"
ALLOW_BUSY_WORKER_UPDATE="${ALLOW_BUSY_WORKER_UPDATE:-false}"

INVENTORY_PATH="${PROJECT_DIR}/deploy_configs/${ENV}/inventory.ini"
VARIABLES_TOML_PATH="${PROJECT_DIR}/deploy_configs/${ENV}/variables.toml"
@@ -42,8 +37,7 @@ echo "BUILD_NUMBER=${BUILD_NUMBER}"
echo "HARBOR_IMAGE_PREFIX=${HARBOR_IMAGE_PREFIX}"

cd "${ROOT_DIR}"
export ENV BUILD_NUMBER HARBOR_IMAGE_PREFIX REGISTRY_PULL ALLOW_BUSY_WORKER_UPDATE
export ANSIBLE_EXTRA_VARS="-e registry_pull=${REGISTRY_PULL} -e allow_busy_worker_update=${ALLOW_BUSY_WORKER_UPDATE}"
export ENV BUILD_NUMBER HARBOR_IMAGE_PREFIX

# Build/push first, then run a full ansible deploy.
make build