补齐发布包维护脚本

把 API 部署与维护开关脚本复制进 current release
补充发布夹具对三个随包脚本的存在性断言
记录 Full 退出维护依赖 current release 自包含脚本
This commit is contained in:
2026-07-12 23:02:58 +08:00
parent 1a90b4f644
commit 8e1f441d6b
3 changed files with 30 additions and 2 deletions
+12
View File
@@ -137,6 +137,18 @@ function assertDeployCopiesPingoraDirectReleaseDependencies() {
);
}
assertFileExists(
path.join(releaseDir, 'scripts/deploy/production-api-deploy.sh'),
'current release 必须包含 API 部署脚本。',
);
assertFileExists(
path.join(releaseDir, 'scripts/deploy/maintenance-on.sh'),
'current release 必须包含进入维护脚本。',
);
assertFileExists(
path.join(releaseDir, 'scripts/deploy/maintenance-off.sh'),
'current release 必须包含退出维护脚本。',
);
assertFileExists(
path.join(releaseDir, 'scripts/deploy/pingora-direct-enable.sh'),
'current release 必须包含 Pingora 直连启用脚本。',
+16
View File
@@ -896,6 +896,9 @@ if [[ -f "${SOURCE_DIR}/pingora-gateway" ]]; then
fi
BACKUP_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/database-backup-to-oss.mjs"
API_DEPLOY_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/deploy/production-api-deploy.sh"
MAINTENANCE_ON_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/deploy/maintenance-on.sh"
MAINTENANCE_OFF_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/deploy/maintenance-off.sh"
HEALTH_PATROL_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/ops/production-health-patrol.mjs"
PINGORA_CURRENT_RELEASE_AUDIT_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/ops/pingora-current-release-audit.mjs"
PINGORA_DIRECT_REHEARSAL_STATUS_SCRIPT_SOURCE="${SOURCE_DIR}/scripts/ops/pingora-direct-rehearsal-status.mjs"
@@ -922,6 +925,19 @@ SYSTEMD_DEPLOY_DIR_SOURCE="${SOURCE_DIR}/deploy/systemd"
NGINX_DEPLOY_DIR_SOURCE="${SOURCE_DIR}/deploy/nginx"
ENV_DEPLOY_DIR_SOURCE="${SOURCE_DIR}/deploy/env"
mkdir -p "${RELEASE_CONTENT_DIR}/scripts" "${RELEASE_CONTENT_DIR}/scripts/deploy" "${RELEASE_CONTENT_DIR}/scripts/ops" "${RELEASE_CONTENT_DIR}/deploy"
if [[ ! -f "${API_DEPLOY_SCRIPT_SOURCE}" ]]; then
echo "[production-api-deploy] 发布产物缺少 API 部署脚本: ${SOURCE_DIR}/scripts/deploy/production-api-deploy.sh" >&2
exit 1
fi
cp "${API_DEPLOY_SCRIPT_SOURCE}" "${RELEASE_CONTENT_DIR}/scripts/deploy/production-api-deploy.sh"
chmod 0755 "${RELEASE_CONTENT_DIR}/scripts/deploy/production-api-deploy.sh"
if [[ ! -f "${MAINTENANCE_ON_SCRIPT_SOURCE}" || ! -f "${MAINTENANCE_OFF_SCRIPT_SOURCE}" ]]; then
echo "[production-api-deploy] 发布产物缺少维护模式脚本: ${SOURCE_DIR}/scripts/deploy" >&2
exit 1
fi
cp "${MAINTENANCE_ON_SCRIPT_SOURCE}" "${RELEASE_CONTENT_DIR}/scripts/deploy/maintenance-on.sh"
cp "${MAINTENANCE_OFF_SCRIPT_SOURCE}" "${RELEASE_CONTENT_DIR}/scripts/deploy/maintenance-off.sh"
chmod 0755 "${RELEASE_CONTENT_DIR}/scripts/deploy/maintenance-on.sh" "${RELEASE_CONTENT_DIR}/scripts/deploy/maintenance-off.sh"
if [[ ! -f "${BACKUP_SCRIPT_SOURCE}" ]]; then
echo "[production-api-deploy] 发布产物缺少数据库备份脚本: ${SOURCE_DIR}/scripts/database-backup-to-oss.mjs" >&2
exit 1