gpt4 book ai didi

buildbot - 自定义 buildbot webstatus

转载 作者:行者123 更新时间:2023-12-01 03:49:07 24 4
gpt4 key购买 nike

我正在尝试为我的 自定义 webstatus 模板构建机器人 0.8.8 安装
根据文档:

Buildbot 使用模板系统作为 Web 界面。这些模板的源代码可以在 buildbot 库区域的 status/web/templates/目录中找到。您可以通过在 buildmaster 基本目录中的 templates/目录中创建替代版本来覆盖这些模板。

这是我所做的:

  • 将我的 buildbot 安装文件夹 (/usr/lib64/.../status/web/templates) 中的所有 html 模板复制到我在 buildmaster 安装根文件夹中找到的模板文件夹中(模板已经存在,其中包含一个 README 文件)这似乎证实了文档说明的内容)
  • 修改了 root.html 模板

  • 不幸的是,我在 webstatus 页面中看不到任何变化。

    我做的另一个测试是直接更改buildbot安装路径中的原始模板文件。现在显示更改。似乎 buildmaster 没有“看到”本地配置路径中的新模板。
    我检查了文件/目录权限,但我找不到那一侧的任何问题。

    尝试清理浏览器缓存也没有运气。
    我做错了什么吗?

    最佳答案

    根据源代码,模板是从 WebStatus 对象中检索的,即
    builder.py:573 ([1]) :

    template = req.site.buildbot_service.templates.get_template("builders.html")

    此属性是在 baseweb.py:465 ([2]) 中创建的:
    self.templates = createJinjaEnv(revlink, self.changecommentlink,
    self.repositories, self.projects, self.jinja_loaders)

    模板查找算法可以在 createJinjaEnv 函数中找到,围绕 base.py:506 ([3]) :
    all_loaders = [jinja2.FileSystemLoader(os.path.join(os.getcwd(), 'templates'))]
    if jinja_loaders:
    all_loaders.extend(jinja_loaders)
    all_loaders.append(jinja2.PackageLoader('buildbot.status.web', 'templates'))
    loader = jinja2.ChoiceLoader(all_loaders)

    根据文档 [4],jinja 将返回指定列表中的第一个现有文件,因此在尝试加载模板时,Jinja 将按顺序查找:
  • cwd
  • jinja_loaders 属性,可以通过 master.cfg 中的 jinja_loaders 参数在 WebStatus 构造函数中定义
  • 来自 python 包的文件

  • IMO 最简单的选择是第二个。

    希望能帮助到你

    [1] https://github.com/buildbot/buildbot/blob/2ab0e16ed0c46249f1d33308fd6878a1fc953f6e/master/buildbot/status/web/builder.py#L573
    [2] https://github.com/buildbot/buildbot/blob/2ab0e16ed0c46249f1d33308fd6878a1fc953f6e/master/buildbot/status/web/baseweb.py#L465
    [3] https://github.com/buildbot/buildbot/blob/2ab0e16ed0c46249f1d33308fd6878a1fc953f6e/master/buildbot/status/web/base.py#L506
    [4] http://jinja.pocoo.org/docs/dev/api/#jinja2.ChoiceLoader

    关于buildbot - 自定义 buildbot webstatus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24477000/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com