我有一个GitHub仓库,它很大并且包含几个可以独立构建的部分。如果我为每个部分配置一个Jenkins作业(或两个),则最终需要多次拉取千兆字节级别的数据(每个作业都要克隆一次仓库)。
这不仅占用了磁盘空间,还消耗了带宽。
我想做的是创建一个“刷新本地仓库”的作业,它只克隆GitHub一次,然后将每个作业配置为从该仓库克隆自己并进行构建。然后通过设置子作业为依赖构建,我可以运行“刷新本地仓库”,让它从GitHub拉取所有最新内容,然后运行每个构建。
到目前为止,我已经使“刷新本地仓库”工作正常 - 它成功克隆了仓库,并且如果我转到工作区,就会看到它具有来自origin/master的HEAD提交。
问题在于其他作业 - 这些似乎没有获取更新。这是我如何配置其中一个作业的方式:
Git
Repository URL file:////Users/malcolmbox/.jenkins/jobs/Refresh Local repo/workspace
Branches to build master
更新应该是最新提交,但却停留在几天前。
我该如何拉取最新的提交并做正确的事情?
澄清一下:.../刷新本地仓库/工作区已经提交了6b20268389064590147d5c73d2b6aceb6ba5fe70于3月28日。
依赖构建,在运行构建(因此可能会执行git克隆/拉取步骤)后,检出到提交的79a25992cc192376522bcb634ee0f7eb3033fc7e于3月26日-因此落后几天。