Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
buildbot是否已轮询git存储库以进行新提交?_Git_Continuous Integration_Buildbot - Fatal编程技术网

buildbot是否已轮询git存储库以进行新提交?

buildbot是否已轮询git存储库以进行新提交?,git,continuous-integration,buildbot,Git,Continuous Integration,Buildbot,是否有一个插件可以轮询git存储库中的新提交(如当前包含的提交) 我找到的最接近的是,但它作为提交后钩子工作,因此无法与我的设置一起工作(在Github的提交后无法到达的机器上使用Github和buildbot)——只需轮询git存储库就可以完美地工作 我目前每小时运行一次构建,但除非发生了变化,否则运行测试没有任何意义。我根本没有玩过buildbot,但是你不能执行git fetch,然后查看git log master..origin/master的输出吗?如果没有新的提交,那么输出将为空(

是否有一个插件可以轮询git存储库中的新提交(如当前包含的提交)

我找到的最接近的是,但它作为提交后钩子工作,因此无法与我的设置一起工作(在Github的提交后无法到达的机器上使用Github和buildbot)——只需轮询git存储库就可以完美地工作


我目前每小时运行一次构建,但除非发生了变化,否则运行测试没有任何意义。

我根本没有玩过buildbot,但是你不能执行
git fetch
,然后查看
git log master..origin/master
的输出吗?如果没有新的提交,那么输出将为空(当然,您可以在
git log
上使用大量其他选项)。如果有新的提交,那么只需执行一次git合并,然后开始构建/测试周期。

更新:Buildbot项目的好心人从0.8.2版开始将GitPoller作为官方更改源,并对原始版本进行了一些改进


我们公司也处于类似的情况,GitHub的post-commit钩子无法访问我们的构建机器。我已经编写了一个
GitPoller
更改源代码,它可以像
SVNPoller
一样使用

可以在这里找到:

使用方法如下:

from buildbot.changes.gitpoller import GitPoller
c['change_source'] = GitPoller('git@example.com:foobaz/myrepo.git',
                               branch='great_new_feature')
它将创建一个本地回购协议(位置可配置),并且只使用git 1.7进行了测试,因此您的里程可能会有所不同


希望它能在某个时候被适当地引入Buildbot项目,但到目前为止它一直在为我们工作,并希望它对其他人有用:)

我喜欢gitpoller.py方法,但目前我发现它有点有限(例如,不发送修订、项目参数),因此找到了不同的解决方案:

我有自己的存储库,它是从post merge hook(如git_buildbot.py中所述)调用的远程和git_buildbot.py克隆而来的。我有一个小循环睡眠和git拉在回购,这将触发后合并挂钩