BuildBot - 可以进行动态回购结账吗?

问题描述 投票:1回答:1

我的目标是设置一个从github服务器侦听webhooks的buildbot,然后通过通用的make all命令构建webhook中列出的repo。

我遇到的问题是它出现在我需要提前指定github repo的构建步骤中,即

factory.addStep(
    steps.GitHub(
        repourl= "github.<domain>.com/<user>/<repo>/", 
        mode='full',
        method='clobber'        
   )
)

理想情况下,我希望能够从http请求中获取repo url(显然在盲目运行代码之前验证它),然后检查它。就像是:

factory.addStep(
    steps.GitHub(
        repourl= request["repo_url"], 
        mode='full',
        method='clobber'        
   )
)

这可能在buildbot框架中吗?任何提示或额外的文档,将非常感谢!!

python continuous-integration buildbot
1个回答
0
投票

只是包住其他任何人遇到这个我发现了两个潜在的解决方案。首先,webhook中有一个未记录的选项,允许将所有HTTP请求信息添加到属性对象中:

'www' : { 
    ...
    "change_hook_dialects" : {'github': {"github_property_whitelist": "*"}},
    ...
}

然后,您可以访问调度程序/构建器阶段中的所有http请求信息。然后,您还可以使用util属性在build_steps阶段获取属性信息,即

factory.addStep(
    steps.GitHub(
        repourl= util.Property('repository'), 
        mode='full',
        method='clobber', 
        submodules=True
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.