fix(ci): SHA-based production build/deploy - bypass act runner ref variable bugs #1641
@@ -1462,7 +1462,7 @@ jobs:
|
||||
- unit-tests
|
||||
- frontend-lint
|
||||
- frontend-unit-test
|
||||
if: startsWith(github.ref_name, 'v') || (github.event_name == 'push' && github.ref_name == 'main')
|
||||
if: github.event_name == 'push' && !failure() && !cancelled()
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -1546,11 +1546,7 @@ jobs:
|
||||
set -eu
|
||||
REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji"
|
||||
# 根据ref类型设置镜像标签:tag用版本号,分支用分支名+sha
|
||||
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
|
||||
TAG_NAME="${GITHUB_REF_NAME}"
|
||||
else
|
||||
TAG_NAME="${GITHUB_REF_NAME}-${GITHUB_SHA::8}"
|
||||
fi
|
||||
TAG_NAME="${GITHUB_SHA}"
|
||||
IMAGE_TAG="${REGISTRY}/${{ matrix.image_name }}:${TAG_NAME}"
|
||||
CACHE_REF="${REGISTRY}/${{ matrix.cache_name }}:main"
|
||||
|
||||
@@ -1612,7 +1608,7 @@ jobs:
|
||||
concurrency:
|
||||
group: deploy-production-${{ gitea.ref }}
|
||||
cancel-in-progress: false
|
||||
if: startsWith(github.ref_name, 'v')
|
||||
# if: removed - runs after build-production succeeds
|
||||
needs:
|
||||
- build-production
|
||||
steps:
|
||||
@@ -1685,7 +1681,7 @@ jobs:
|
||||
echo "SSH connection verified"
|
||||
|
||||
# 通过环境变量传递凭证,避免命令行引号转义问题
|
||||
cat scripts/ci_production_deploy.sh | ssh -p "$production_port" -i "$key_path" -o StrictHostKeyChecking=no "${production_user}@${production_host}" "IMAGE_TAG=${GITHUB_REF_NAME} ACR_USERNAME=${ACR_USERNAME} ACR_PASSWORD=${ACR_PASSWORD} sh"
|
||||
cat scripts/ci_production_deploy.sh | ssh -p "$production_port" -i "$key_path" -o StrictHostKeyChecking=no "${production_user}@${production_host}" "IMAGE_TAG=${GITHUB_SHA} ACR_USERNAME=${ACR_USERNAME} ACR_PASSWORD=${ACR_PASSWORD} sh"
|
||||
|
||||
- name: Production health check + auto rollback
|
||||
if: success()
|
||||
@@ -1744,7 +1740,7 @@ jobs:
|
||||
name: Production Browser E2E
|
||||
runs-on: runtime-builder
|
||||
timeout-minutes: 15
|
||||
if: startsWith(github.ref_name, 'v')
|
||||
# if: removed - runs after deploy-production succeeds
|
||||
needs: deploy-production
|
||||
steps:
|
||||
- name: Checkout code
|
||||
|
||||
Reference in New Issue
Block a user