【发布时间】:2015-02-25 16:34:20
【问题描述】:
假设以下 git 在 master 中提交(我们使用拉取请求,但以下更容易重现问题):
$ git clone <my_repo> my_repo
$ cd my_repo
$ git checkout master
$ for delta in 17 34 68; do # touch & commit a file and then sleep for $delta
f=$(date +%H%M%S)-$delta # hhmiss dateformat
touch $f
git add $f
git commit $f -m"timestamped file $f"
sleep $delta
done
$ git push origin
还有一个带有GitPoller 和pollInterval=60, usetimestamps=False 的构建器
此推送导致触发 2 个构建:
- 第一个构建获取第一个提交
- 第二个构建获取其他两个提交(因为提交是在等待构建完成时堆积起来的)
我想配置 buildbot (0.8.10),以便一次推送(或合并请求)只触发一次构建。
到目前为止我所看到的:
- git+buildbot 标记了关于 SO 的问题
- http://docs.buildbot.net/0.8.10/manual/cfg-schedulers.html#change-filters - 它处理单个更改,但我指定哪些提交应该触发一个构建
-
http://docs.buildbot.net/0.8.10/manual/cfg-changesources.html#gitpoller -
pollInterval很好,但是对于合并请求,可能会有大量的提交在短时间内进入 master
【问题讨论】: