代码之家  ›  专栏  ›  技术社区  ›  AAlvz

如何将变量传递给Buildbot?

  •  2
  • AAlvz  · 技术社区  · 9 年前

    我正在使用Buildbot V.0.9.0rc3

    当我通过命令行发送更改或收到http Post请求到正确地址时,我的Buildbot会触发。

    目前我是 发送更改 以两种不同的方式构建bot:

    $ buildbot sendchange -m localhost:9999 -a example-user:pass -W me -C default
    

    curl -X POST -d author=aalvz -d comments=mycomment -d project=my_project -d category=default -d repository=some http://192.168.33.20:8020/change_hook/base
    

    我的 调度程序 定义如下:

    c['schedulers'].append(schedulers.SingleBranchScheduler(
                                 name="waiter",
                                 builderNames=["runtests"],
                                 change_filter=util.ChangeFilter(category='default')))
    c['www'] = dict(port=8020,
                    plugins=dict(waterfall_view={}, console_view={}),
                    change_hook_dialects={
                                          'base': True,
                                          'somehook': {'option1':True,
                                                       'option2':False}})
    

    还有我的 进入工厂 克隆回购看起来像这样:

    factory.addStep(steps.Git(repourl='git@github.com:AAlvz/my_repo.git', mode='full', workdir='newFolder', branch='my_branch', submodules=True, clobberOnFailure=True))
    

    我想 接收带有一些数据的POST,并使用这些数据触发不同的命令。类似于:(使用 $ 使变量变得明显)

    factory.addStep(steps.Git(repourl=$myjson.name, mode='full', workdir=$myjson.path, branch=$myjson.branch, submodules=True, clobberOnFailure=True))
    

    这样我就可以发送类似于以下内容的JSON:

    {myjson: {name: github/myrepo.git, path: /tmp/my/path, branch: my_branch}}
    

    并能够克隆JSON提供的存储库。

    提前谢谢!我希望这个问题足够清楚。我可以提供日志或任何所需的配置。谢谢

    1 回复  |  直到 9 年前
        1
  •  2
  •   AAlvz    9 年前

    这是通过使用解决的 Buildbot Properties .

    您可以使用标志通过命令行(使用PBChangeSource)发送它们

    buildbot sendchange ... --properties=my_property:myvalue
    

    如果需要多个属性,可以使用多个timpe标记。

    推荐文章