我有一个很大的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 - 所以它落后了几天.
我有一个Git存储库,其中包含一堆顶级maven项目(每个项目都位于他们自己的子目录中,并带有一个pom.xml).这里的顶级意味着这些项目位于存储库根目录下的子目录中.所有这些项目都应保留在同一个Git存储库中.
repo
+--- projectA
+--- pom.xml
+--- projectB
+--- pom.xml
Run Code Online (Sandbox Code Playgroud)
他们可以/应该由独立的詹金斯工作建立.所以我们有一个projectA的工作和一个projectB的工作.
以前使用Subversion,我能够设置一个Jenkins作业(对于每个项目),它只检查项目源并从pom.xml运行Maven构建.
使用Git模型(可能与所有DVCS相同),这种变化,我不确定什么是最佳实践.我看到了一些选项,我不喜欢这些选项:
你有没有看到更有用的方法(非常典型的设置).你有什么经历?任何最佳做法?