首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Buildbot中,是否可以让被触发的构建器向父构建器返回值?

在Buildbot中,可以通过使用Properties来实现被触发的构建器向父构建器返回值。Properties是Buildbot中用于存储和传递数据的对象。可以在构建器中定义Properties,并在构建过程中对其进行设置和访问。

要让被触发的构建器向父构建器返回值,可以通过以下步骤实现:

  1. 在父构建器中定义一个属性(例如result),用于存储子构建器的返回值。
  2. 在被触发的构建器中,通过构建器的addURLProperty方法将子构建器的返回值添加到Properties中。
  3. 在父构建器中,通过构建器的addURLProperty方法获取子构建器的返回值,并将其存储到父构建器的属性中。

以下是一个示例代码:

代码语言:txt
复制
from buildbot.plugins import util

# 父构建器
f = util.BuildFactory()
f.addStep(util.Trigger(schedulerNames=["child_scheduler"], waitForFinish=True))
f.addStep(util.SetPropertyFromCommand(command=["echo", "Parent build"], property="result"))

# 子构建器
c = util.BuildFactory()
c.addStep(util.ShellCommand(command=["echo", "Child build"]))
c.addStep(util.SetPropertyFromCommand(command=["echo", "Child build result"], property="result"))

# 配置构建器
c['properties'] = {'result': 'child_result'}
f['properties'] = {'result': util.Property('child_result')}

# 配置触发器
t = util.Triggerable(name="child_scheduler")
t.setBuilderNames(["child_builder"])

# 添加构建器和触发器到Buildbot配置
c['builders'] = [util.BuilderConfig(name="child_builder", factory=c)]
f['builders'] = [util.BuilderConfig(name="parent_builder", factory=f)]
c['schedulers'] = [t]

# 返回父构建器的结果
f.addStep(util.SetPropertyFromCommand(command=["echo", util.Property('child_result')], property="result"))

# 配置Buildbot
c['schedulers'] = [t]
c['builders'] = [util.BuilderConfig(name="child_builder", factory=c)]
f['builders'] = [util.BuilderConfig(name="parent_builder", factory=f)]

在上述示例中,父构建器通过SetPropertyFromCommand步骤将子构建器的返回值存储到属性result中。子构建器通过SetPropertyFromCommand步骤将自己的返回值存储到属性result中。然后,父构建器通过SetPropertyFromCommand步骤获取子构建器的返回值,并将其存储到属性result中。

这样,父构建器就可以访问子构建器的返回值,并进行后续处理。

请注意,以上示例中的代码仅用于演示目的,实际使用时需要根据具体情况进行适当的修改和配置。

关于Buildbot的更多信息和详细配置,请参考腾讯云的产品文档:Buildbot产品介绍

相关搜索:如何在使用SVN提交后触发Buildbot中的构建器?构建管道触发器是否在TFS on premise中可用在Laravel 5.5中更改查询构建器查询中的返回值如何让InputState在事务构建器中传递相同的内容如何让Kotlin的类型安全构建器在Scala中工作?是否可以将JetBrans MPS编辑器构建到我的程序中?是否可以在触发器执行过程中获得触发器的相关信息?是否可以在列表视图构建器中通过在Flutter中拖动来对项目进行重新排序?是否可以在Laravel 5.8中使用eloquent或查询构建器构建插入、忽略/插入或更新?而不会循环每条记录?我是否可以使用服务器中构建的对象来设置R Shiny中的接口输入是否可以使用packer virtualbox-ovf构建器将临时密钥的公共部分注入到OVA中?我们可以在没有任何服务器的浏览器中像这样运行我们的webpack (UI)构建吗?有没有一种方法可以在Eureka表单构建器中嵌入条纹的STPPaymentCardTextField?Laravel查询构建器不获取任何响应,但同样的查询在MySql中也可以正常工作是否可以在没有安装Visual Studio的情况下在Windows服务器上构建.NET核心应用程序?在模糊查询构建器中是否有某种方法来识别是否有任何记录是完美匹配的?JavaFX - css在我的项目中不起作用,但可以在场景构建器中起作用是否可以在管道Jenkinsfile中对cron触发器的输入进行字符串插值?在Salesforce中,我是否可以在不让用户知道的情况下阻止记录插入到对象触发器中?在无服务器框架中,是否可以通过手动更改本地s3的文件来触发lambda?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券