【发布时间】:2018-04-01 23:38:12
【问题描述】:
情况……
我有几个 Git 存储库,这些都是我的构建所必需的。我正在积极开发其中的代码,而其他的则包含我使用的库代码。由于每个 repo 都是独立的,当然它们都有不同的分支名称。
对于我的 Jenkins 构建,我想从每个 repo 中获取相关版本的代码,将它们放在正确的子目录中,然后构建我的项目。理想情况下,我还应该能够进行浅层克隆(因为其中一个存储库很大),并且能够仅对我想要的路径进行稀疏检查。
Multiple SCMs plugin 似乎是完成这项工作的理想工具。但是它还没有处于积极的开发中,而且我已经看到它抛出了其他人谈论过的断言。
我已经看到this question 回答了如何使用 Jenkins 流水线来执行此操作,因此我调查了 Jenkins 流水线。我很快从Git Pipeline documentation 中发现,它对 Git 的支持可以最仁慈地描述为“最小”,这对于 Pipeline 概念的其余部分同样适用。 (那是在我们进入噩梦之前,它正在用纯文本界面替换一个完美可行的 UI。维护的噩梦,很多吗?呃!)
我还可以设置 Git 子项目。我宁愿不必走这条路来解决最新版本 Jenkins 的不足之处,但如果这是唯一的解决方案,则必须这样做。
我会说除了 Jenkins 之外的解决方案并不是一个真正的选择,因为我们公司已经使用 Jenkins 有一段时间了,我们真的不想设置其他东西。
【问题讨论】:
标签: git jenkins jenkins-pipeline