ci: move server Git operations to SSH credentials

这个提交包含在:
XuqmGroup 2026-07-27 12:34:17 +08:00
父节点 c68575dded
当前提交 e593a70a59
共有 2 个文件被更改,包括 18 次插入8 次删除

18
Jenkinsfile vendored
查看文件

@ -40,8 +40,8 @@ pipeline {
branches: [[name: 'main']], branches: [[name: 'main']],
extensions: [[$class: 'CleanBeforeCheckout']], extensions: [[$class: 'CleanBeforeCheckout']],
userRemoteConfigs: [[ userRemoteConfigs: [[
url: 'https://xuqinmin.com/xuqmGroup/XuqmGroup-Server.git', url: 'ssh://git@xuqinmin.com:2222/xuqmGroup/XuqmGroup-Server.git',
credentialsId: 'XUQM_GIT_CREDENTIALS' 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]" git diff --cached --quiet || git commit -m "ci: bump versions [${summary}] [skip ci]"
""" """
// push 加 retry + rebase,应对多 job 并发推送冲突 // push 加 retry + rebase,应对多 job 并发推送冲突
retry(3) { sshagent(credentials: ['jenkins-ssh-key']) {
bat """ retry(3) {
chcp 65001 >nul bat """
git pull --rebase origin main chcp 65001 >nul
git push origin HEAD:main git pull --rebase origin main
""" git push origin HEAD:main
"""
}
} }
} }
} }

查看文件

@ -120,3 +120,11 @@ yarn workspace @xuqm/docs-site build
- 未触发 Jenkins,未部署任何环境。 - 未触发 Jenkins,未部署任何环境。
- 未运行真实 MySQL 迁移。 - 未运行真实 MySQL 迁移。
- Jenkins 中的 Git、Config 签名凭据以及生产主机运行环境变量必须由有权限的维护者配置后,才能进行生产发布。 - 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 阶段成功。