diff --git a/Jenkinsfile b/Jenkinsfile index e1863d8..f80877b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,8 +40,8 @@ pipeline { branches: [[name: 'main']], extensions: [[$class: 'CleanBeforeCheckout']], userRemoteConfigs: [[ - url: 'https://xuqinmin.com/xuqmGroup/XuqmGroup-Server.git', - credentialsId: 'XUQM_GIT_CREDENTIALS' + url: 'ssh://git@xuqinmin.com:2222/xuqmGroup/XuqmGroup-Server.git', + credentialsId: 'jenkins-ssh-key' ]] ]) } @@ -220,12 +220,14 @@ print('versions.json updated, platformVersion=' + d.get('platformVersion', '')) git diff --cached --quiet || git commit -m "ci: bump versions [${summary}] [skip ci]" """ // push 加 retry + rebase,应对多 job 并发推送冲突 - retry(3) { - bat """ - chcp 65001 >nul - git pull --rebase origin main - git push origin HEAD:main - """ + sshagent(credentials: ['jenkins-ssh-key']) { + retry(3) { + bat """ + chcp 65001 >nul + git pull --rebase origin main + git push origin HEAD:main + """ + } } } } diff --git a/docs/SDK_PLATFORM_V2_HANDOFF.md b/docs/SDK_PLATFORM_V2_HANDOFF.md index 2e13fab..a9ec9ec 100644 --- a/docs/SDK_PLATFORM_V2_HANDOFF.md +++ b/docs/SDK_PLATFORM_V2_HANDOFF.md @@ -120,3 +120,11 @@ yarn workspace @xuqm/docs-site build - 未触发 Jenkins,未部署任何环境。 - 未运行真实 MySQL 迁移。 - Jenkins 中的 Git、Config 签名凭据以及生产主机运行环境变量必须由有权限的维护者配置后,才能进行生产发布。 +# 2026-07-27 Jenkins SCM 凭据收口 + +- Server 流水线的显式 checkout 已改用 Gitea SSH URL 和 Jenkins + `jenkins-ssh-key`,不再引用未配置的 `XUQM_GIT_CREDENTIALS`,也不允许在 URL + 中嵌入用户名、密码或访问令牌。生产版本回写的 pull/push 同样放入 + `sshagent(jenkins-ssh-key)`,不依赖 checkout 步骤的临时认证环境。 +- 该修改尚未通过下一次 Server Jenkins 构建验证;触发部署前应先执行一次只构建不 + 部署的流水线或确认 checkout 阶段成功。