ci: 收口生产 main 分支部署流程
This commit is contained in:
@@ -8,8 +8,8 @@ x-overseas-common: &overseas-common
|
||||
environment: &overseas-environment
|
||||
SPRING_PROFILES_ACTIVE: overseas
|
||||
NACOS_SERVER_ADDR: ${NACOS_SERVER_ADDR}
|
||||
NACOS_USERNAME: ${NACOS_USERNAME}
|
||||
NACOS_PASSWORD: ${NACOS_PASSWORD}
|
||||
NACOS_USERNAME: ${OVERSEAS_NACOS_USERNAME}
|
||||
NACOS_PASSWORD: ${OVERSEAS_NACOS_PASSWORD}
|
||||
NACOS_GROUP: ${NACOS_GROUP:-BAIYUE}
|
||||
NACOS_NAMESPACE: ${OVERSEAS_NACOS_NAMESPACE:-prod-overseas}
|
||||
REDIS_HOST: ${OVERSEAS_REDIS_HOST:-host.docker.internal}
|
||||
|
||||
@@ -29,9 +29,9 @@ for value_name in HEALTH_TIMEOUT_SECONDS HEALTH_POLL_SECONDS; do
|
||||
done
|
||||
|
||||
case "$DEPLOY_ENV" in
|
||||
development|test) ;;
|
||||
development|test|production) ;;
|
||||
*)
|
||||
echo "直接镜像传输仅支持 development/test,当前: $DEPLOY_ENV" >&2
|
||||
echo "仅支持 development/test/production,当前: $DEPLOY_ENV" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
@@ -115,7 +115,7 @@ if [ "$SERVICE" = "finance" ]; then
|
||||
fi
|
||||
|
||||
if [ "$PROJECT_NAME" = "firstleg-$DEPLOY_ENV-overseas" ]; then
|
||||
for key in NACOS_SERVER_ADDR NACOS_USERNAME NACOS_PASSWORD OVERSEAS_NACOS_NAMESPACE INTERNAL_SERVICE_TOKEN JWT_ISSUER OVERSEAS_JWT_AUDIENCE JWT_JWK_SET_URI; do
|
||||
for key in NACOS_SERVER_ADDR OVERSEAS_NACOS_USERNAME OVERSEAS_NACOS_PASSWORD OVERSEAS_NACOS_NAMESPACE INTERNAL_SERVICE_TOKEN JWT_ISSUER OVERSEAS_JWT_AUDIENCE JWT_JWK_SET_URI; do
|
||||
if ! env_file_has_key "$key" || [ -z "$(env_file_value "$key")" ]; then
|
||||
echo "部署海外服务时,环境文件必须包含非空 $key" >&2
|
||||
exit 2
|
||||
@@ -188,6 +188,10 @@ if [ "$SERVICE" = "file" ]; then
|
||||
echo "开发环境部署 file 服务时 MQ_TOPIC_PREFIX 必须非空且不能使用 test-" >&2
|
||||
exit 2
|
||||
fi
|
||||
if [ "$DEPLOY_ENV" = "production" ] && [ -n "$MQ_PREFIX" ]; then
|
||||
echo "生产环境部署 file 服务时 MQ_TOPIC_PREFIX 必须为空,使用正式 Topic" >&2
|
||||
exit 2
|
||||
fi
|
||||
fi
|
||||
|
||||
: "${REGISTRY_USER:?REGISTRY_USER 未设置}"
|
||||
@@ -505,7 +509,7 @@ if [ "$new_started" = "true" ] && wait_for_health; then
|
||||
fi
|
||||
|
||||
echo "新镜像健康检查失败: $new_image" >&2
|
||||
failed_container_id="$(remote_container_id || true)"
|
||||
failed_container_id="$(container_id || true)"
|
||||
if [ -n "$failed_container_id" ]; then
|
||||
echo "新镜像容器最近日志(最多 200 行):" >&2
|
||||
docker logs --tail 200 "$failed_container_id" 2>&1 || true
|
||||
|
||||
@@ -72,7 +72,7 @@ else
|
||||
fi
|
||||
|
||||
if [ "$DEPLOY_REGION" = "OVERSEAS" ]; then
|
||||
for key in NACOS_SERVER_ADDR NACOS_USERNAME NACOS_PASSWORD OVERSEAS_NACOS_NAMESPACE INTERNAL_SERVICE_TOKEN JWT_ISSUER OVERSEAS_JWT_AUDIENCE JWT_JWK_SET_URI; do
|
||||
for key in NACOS_SERVER_ADDR OVERSEAS_NACOS_USERNAME OVERSEAS_NACOS_PASSWORD OVERSEAS_NACOS_NAMESPACE INTERNAL_SERVICE_TOKEN JWT_ISSUER OVERSEAS_JWT_AUDIENCE JWT_JWK_SET_URI; do
|
||||
if ! env_file_has_key "$key" || [ -z "$(env_file_value "$key")" ]; then
|
||||
echo "部署海外服务时,环境文件必须包含非空 $key" >&2
|
||||
exit 2
|
||||
|
||||
Reference in New Issue
Block a user