git - 如何使用 buildbot 构建每个标签?
问题描述
如何设置 Buildbot 来构建每个推送的标签?我目前的配置:
c["change_source"].append(changes.GitPoller(
repourl = "git@server:buildbot-test.git",
pollInterval = 3,
pollAtLaunch = True,
only_tags = True,
project = "buildbot-test",
buildPushesWithNoCommits = True,
))
c["schedulers"].append(schedulers.SingleBranchScheduler(
name = "buildbot-test",
change_filter = util.ChangeFilter(project = "buildbot-test"),
builderNames = ["buildbot-test"],
treeStableTimer = 10,
))
factory = util.BuildFactory()
factory.addStep(steps.Git(
repourl='git@server:buildbot-test.git',
progress=True,
))
factory.addStep(steps.ShellCommand(
name="Generate build stages",
command=["./build.sh", "--list-stages", util.Property("branch")],
haltOnFailure=True,
))
c['builders'].append(util.BuilderConfig(
name='buildbot-test',
description='Buildbot Test',
workernames=['my-worker'],
factory=factory,
))
这在我第一次标记提交时有效。但是当我第二次标记提交时,不会触发构建。
解决方案
最后我在IRC上问了。我被告知这是可能的:GitPoller
这不是获得更改的推荐方式,因此它可能存在一些错误。
首选方法是在 SCM 服务器中设置挂钩并使用 Buildbot 的 REST API 将更改推送到 Buildbot。
推荐阅读
- string - 使用 bash 和 rawdata,创建一个新数据
- php - PHP获取日期数组,从一个长日期范围中分割出来
- ios - Angular 8 - 如何在 iOS 中下载文件
- java - 更改“bootJar”目标目录
- angular - Angular 订阅 EventEmitter 但获取现有项目
- javascript - 如何使用 jQuery 从动态加载的外部 HTML 文件中更改 CSS 属性
- sql - Oracle表中如何推进压缩分区和子分区
- git - Visual Studio 2017 和 git 中版本控制项目中的机器相关库路径
- php - 在 RabbitMQ 中是否有可能同时有一个作为消费者和生产者的回调?如果是,这是一个好方法吗?
- html - 在电话图像旁边的锚标签中显示电话链接,在信封图像旁边显示电子邮件链接