diff --git a/deploy/docker-compose.overseas.yml b/deploy/docker-compose.overseas.yml index 5d969d59c..fbde2d580 100644 --- a/deploy/docker-compose.overseas.yml +++ b/deploy/docker-compose.overseas.yml @@ -8,8 +8,8 @@ x-overseas-common: &overseas-common environment: &overseas-environment SPRING_PROFILES_ACTIVE: overseas NACOS_SERVER_ADDR: ${NACOS_SERVER_ADDR} - NACOS_USERNAME: ${OVERSEAS_NACOS_USERNAME} - NACOS_PASSWORD: ${OVERSEAS_NACOS_PASSWORD} + NACOS_USERNAME: ${NACOS_USERNAME} + NACOS_PASSWORD: ${NACOS_PASSWORD} NACOS_GROUP: ${NACOS_GROUP:-BAIYUE} NACOS_NAMESPACE: ${OVERSEAS_NACOS_NAMESPACE:-prod-overseas} REDIS_HOST: ${OVERSEAS_REDIS_HOST:-host.docker.internal} diff --git a/deploy/scripts/deploy-built-service.sh b/deploy/scripts/deploy-built-service.sh index b8a740e31..b01bb374b 100644 --- a/deploy/scripts/deploy-built-service.sh +++ b/deploy/scripts/deploy-built-service.sh @@ -114,16 +114,14 @@ if [ "$SERVICE" = "finance" ]; then done fi -case "$SERVICE" in - gateway-overseas|lastleg-service|warehouse-overseas-service) - for key in NACOS_SERVER_ADDR OVERSEAS_NACOS_NAMESPACE INTERNAL_SERVICE_TOKEN JWT_ISSUER OVERSEAS_JWT_AUDIENCE JWT_JWK_SET_URI; do +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 if ! env_file_has_key "$key" || [ -z "$(env_file_value "$key")" ]; then echo "部署海外服务时,环境文件必须包含非空 $key" >&2 exit 2 fi done - ;; -esac +fi if [ "$SERVICE" = "firstleg" ]; then if ! env_file_has_key LASTLEG_EVENT_BRIDGE_URL || [ -z "$(env_file_value LASTLEG_EVENT_BRIDGE_URL)" ]; then diff --git a/deploy/scripts/deploy-services.sh b/deploy/scripts/deploy-services.sh index 7b8f28dd5..423e5a7e5 100644 --- a/deploy/scripts/deploy-services.sh +++ b/deploy/scripts/deploy-services.sh @@ -72,7 +72,7 @@ else fi if [ "$DEPLOY_REGION" = "OVERSEAS" ]; then - for key in NACOS_SERVER_ADDR OVERSEAS_NACOS_NAMESPACE INTERNAL_SERVICE_TOKEN JWT_ISSUER OVERSEAS_JWT_AUDIENCE JWT_JWK_SET_URI; do + 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 if ! env_file_has_key "$key" || [ -z "$(env_file_value "$key")" ]; then echo "部署海外服务时,环境文件必须包含非空 $key" >&2 exit 2 diff --git a/scripts/overseas-deployment-contract.test.mjs b/scripts/overseas-deployment-contract.test.mjs index b48f21e64..1e861c5ab 100644 --- a/scripts/overseas-deployment-contract.test.mjs +++ b/scripts/overseas-deployment-contract.test.mjs @@ -66,6 +66,9 @@ test('service map freezes unique internal ports and moves event bridge away from test('overseas compose is isolated from CN defaults and disables implicit schema execution', async () => { const compose = await read('deploy/docker-compose.overseas.yml') assert.match(compose, /^name: firstleg-\$\{DEPLOY_ENV:-test\}-overseas$/m) + assert.match(compose, /NACOS_USERNAME: \$\{NACOS_USERNAME\}/) + assert.match(compose, /NACOS_PASSWORD: \$\{NACOS_PASSWORD\}/) + assert.doesNotMatch(compose, /OVERSEAS_NACOS_(?:USERNAME|PASSWORD)/) assert.match(compose, /NACOS_NAMESPACE: \$\{OVERSEAS_NACOS_NAMESPACE:-prod-overseas\}/) assert.match(compose, /REGION_CODE: OVERSEAS/) assert.match(compose, /SPRING_SQL_INIT_MODE: never/) @@ -136,7 +139,7 @@ test('CN and overseas event bridges have explicit opposite-region consumers', as assert.match(scripts, /REMOTE_ENV_NAME="\.env\.\$PROJECT_NAME"/) assert.match(scripts, /REMOTE_COMPOSE_NAME="docker-compose\.\$PROJECT_NAME\.yml"/) for (const key of [ - 'NACOS_SERVER_ADDR', 'OVERSEAS_NACOS_NAMESPACE', 'INTERNAL_SERVICE_TOKEN', + 'NACOS_SERVER_ADDR', 'NACOS_USERNAME', 'NACOS_PASSWORD', 'OVERSEAS_NACOS_NAMESPACE', 'INTERNAL_SERVICE_TOKEN', 'JWT_ISSUER', 'OVERSEAS_JWT_AUDIENCE', 'JWT_JWK_SET_URI' ]) assert.match(scripts, new RegExp(key)) })