Buildbot 0.8.6
buildbot会定期无法获取特定的存储库。它执行以下命令:
argv:['/ usr / bin / git','reset',' - hard', '26d7a2f5af4b777b074ac47a7218fe775d039845']
然后抱怨:
致命:无法解析对象 '26d7a2f5af4b777b074ac47a7218fe775d039845'。
但是,正确的命令实际上是:
argv:['/ usr / bin / git','reset',' - hard','FETCH_HEAD']
不仅如此。失败命令中使用的SHA编号来自不同的存储库。
任何人都知道如何解决这个问题?
非常感谢。
更新
我们有两个存储库。我们有一个GitPoller正在观看其中一个存储库。如果被监视的存储库有推送,我想有一个构建运行。但是,构建需要两个存储库。上面指定的错误发生在第二个未观看的存储库上。错误中的SHA编号来自监视的存储库。
答案 0 :(得分:2)
好的,首先,让我们确保我们有正确的理解:
当您轮询存储库以触发构建时,会发生的情况是每个新构建都会带有触发它的更改。 git步骤引用这些更改来检出正确的版本。您可能需要使用codebases来帮助区分更改的两个步骤。不幸的是,代码库是在0.8.7中引入的,所以你应该考虑升级。 0.8.6是古代。
如果无法升级,请将alwaysUseLatest=True
传递到您不轮询的存储库的Git()
步骤。这将迫使它始终使用FETCH_HEAD
。这是我在那个设置上的镜头:
f = BuildFactory()
f.addStep(Git(repourl='git://github.com/you/polled_repo.git', mode='copy'))
f.addStep(Git(repourl='git://github.com/you/other_repo.git', alwaysUseLatest=True))