修复预览部署可选提交参数
Project CI / Repository checks (push) Successful in 1m40s
Project CI / Frontend tests (push) Successful in 2m59s
Project CI / Backend tests (push) Successful in 4m5s
Project CI / Native shell tests (push) Successful in 18m44s

修复 Checkout 阶段在严格 shell 下展开未定义 COMMIT_HASH 的失败

增加预览流水线参数归一化防回归门禁

同步预览部署参数合同与项目决策文档
This commit is contained in:
2026-08-15 17:59:27 +08:00
parent 7400c706f8
commit d2366bc40a
4 changed files with 40 additions and 3 deletions
+25
View File
@@ -55,6 +55,31 @@ assertIncludes(
"string(name: 'DEPLOYMENT_ID'",
'Jenkins 必须暴露 DEPLOYMENT_ID。',
);
assertIncludes(
jenkinsfile,
'SOURCE_BRANCH="${SOURCE_BRANCH:-}"',
'Jenkins 目标源码 checkout 必须兼容旧构建缺少 SOURCE_BRANCH 环境变量。',
);
assertIncludes(
jenkinsfile,
'COMMIT_HASH="${COMMIT_HASH:-}"',
'Jenkins 目标源码 checkout 必须兼容可选 COMMIT_HASH 未物化。',
);
assertIncludes(
jenkinsfile,
'GIT_REMOTE_URL="${GIT_REMOTE_URL:-}"',
'Jenkins 目标源码 checkout 必须在严格 shell 下安全读取固定 Git 地址。',
);
assertExcludes(
jenkinsfile,
'COMMIT_HASH="${COMMIT_HASH}"',
'Jenkins 不得在 set -u 下严格展开可选 COMMIT_HASH。',
);
assertIncludes(
jenkinsfile,
`if [ "${'${ACTION}'}" = 'DEPLOY' ] && [ -z "${'${SOURCE_BRANCH}'}" ]; then`,
'Jenkins DEPLOY 缺少 SOURCE_BRANCH 时必须失败关闭。',
);
assertIncludes(
jenkinsfile,
"archiveArtifacts artifacts: 'preview-result.json'",