背景
Jenkins 被用于从具有 Git 子模块的 Git 存储库构建工件。子模块与父项目不在同一个仓库中,甚至不在同一个端点。问题是父存储库检查正常,因为凭证 ssh 密钥 A 与主/父存储库相关联,但毫不奇怪,子模块失败,因为凭证 ssh 密钥 B 与来自 Jenkins 的存储库无关' 观点看法。
令人惊讶的是,Jenkins 对 Git 子模块没有更好的开箱即用支持。是时候做出贡献了。
问题
- 有没有办法为单个 Git 存储库存储多个凭据?
- 如果答案是否定的,为什么 Jenkins 在高级子模块行为下提供了使用父存储库默认远程凭据的选项,如下所示?
- 还有什么其他方法可以处理具有不同凭据的 Jenkins 和 Git 子模块?
系统信息
在 Docker 机器上运行 Jenkins(本地)
在 CentOS 上运行 Jenkins(生产)
詹金斯版本:2.60.2(两者)
Git 插件版本:3.6.4(两者)