如何从一个本地git仓库中获取多个Jenkins构建版本?

Mal*_*Box 31 git jenkins

我有一个很大的GitHub仓库,包含几个可独立构建的位.如果我为这些中的每一个配置一个(或两个)作业的Jenkins,我最终必须多次拉数千兆字节的数据(每个作业的一个repo克隆).

这需要磁盘空间和带宽.

我想做的是拥有克隆github一次的"刷新本地仓库"工作,然后将每个工作配置为从该仓库克隆自己并构建.然后通过将子作业设置为依赖构建,我可以运行"刷新本地存储库",让它从GitHub中提取所有最新的东西,然后运行每个构建.

到目前为止,我已经有了"刷新本地仓库" - 它成功克隆了,如果我去工作区,我看到它有HEAD提交的origin/master.

问题在于其他工作 - 这些工作似乎没有获得更新.这是我如何配置其中一个:

Git
 Repository URL file:////Users/malcolmbox/.jenkins/jobs/Refresh Local repo/workspace
 Branches to build  master
Run Code Online (Sandbox Code Playgroud)

它没有更新到最新的提交,而是在过去几天停留.

我怎样才能得到它来提示并做正确的事情?

澄清:... /刷新本地回购/工作区已提交6b20268389064590147d5c73d2b6aceb6ba5fe70已提交28/3

运行构建后的依赖构建(因此可能是执行git clone/pull步骤)被检查到提交26/3 - 所以它落后了几天.

sti*_*sti 33

如果您打开作业配置并单击git SCM配置的"高级"按钮,您将看到一个指定"克隆期间要使用的引用存储库的路径(可选)"的位置.

如果您有存储库的本地克隆,请添加引用存储库字段的路径.

然后,Git将使用本地克隆并共享磁盘上的大多数git对象,并仅从github中提取本地克隆中缺少的内容,从而导致快速克隆并节省磁盘空间.

或者这正是你如何配置你的工作,它没有拿起最新的提交?如果是这样,请提供更多详细信息.考虑发布您的工作配置.

  • 只是想澄清:似乎最新的git插件现在有一个高级选项的弹出菜单,参考仓库在"高级克隆行为"下. (9认同)