我有一个很大的GitHub存储库,其中包含几个可独立构建的位。如果我为Jenkins的每个任务配置一个(或两个)工作,最终我将不得不多次提取千兆字节的数据(每个工作的仓库都是一个克隆)。
这会占用磁盘空间和带宽。
我想做的是拥有“ Refresh local repo”作业,该作业一次克隆github,然后配置每个作业以从该回购中克隆自己并进行构建。然后,通过将子作业设置为依赖的构建,我可以运行“刷新本地存储库”,让它从GitHub中提取所有最新的东西,然后运行每个构建。
到目前为止,我已经可以使用“刷新本地存储库”了-它成功克隆了,如果我进入工作区,我会看到它具有HEAD的origin / master提交。
问题是其他工作-这些工作似乎没有更新。这是我配置其中之一的方法:
Git Repository URL file:////Users/malcolmbox/.jenkins/jobs/Refresh Local repo/workspace Branches to build master
它没有更新为最新的提交,而是停留了几天。
我怎样才能拉出尖端并做正确的事情?
要澄清:… /刷新本地仓库/工作区已提交6b20268389064590147d5c73d2b6aceb6ba5fe70提交28/3
在运行构建(大概执行git clone / pull步骤)后,从属构建被检出到提交为26/3的79a25992cc192376522bcb634ee0f7eb3033fc7e,因此相隔了几天。
如果打开作业配置并单击git SCM配置的“高级”按钮,则会看到一个位置,用于指定“克隆期间要使用的参考存储库的路径(可选)”。
如果您具有存储库的本地克隆,则将路径添加到参考回购字段。
然后,Git将使用本地克隆并共享磁盘上的大多数git对象,并仅从本地克隆中删除本地克隆中缺少的内容,从而实现快速克隆并节省了磁盘空间。
还是这正是您配置工作的方式,并且没有选择最新的提交?如果是这样,请提供更多详细信息。考虑发布您的作业配置。