You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Buildbot Master以提供其所在服务器文件及目录的Web访问?

让Buildbot Master通过Twisted Web提供构建产物的Web访问

当然可以实现,Buildbot Master本身基于Twisted Web,只需扩展其Web服务配置即可直接暴露存放构建产物的目录,具体步骤如下:

1. 修改Master配置文件(master.cfg)

在配置文件中添加静态资源路由,指向你的构建产物目录:

# 导入Twisted静态文件服务模块
from twisted.web.static import File

# 替换为你实际的构建产物存放路径
BUILD_ARTIFACTS_DIR = "/opt/buildbot/artifacts"

# 配置Web服务插件,添加静态资源访问
c['www']['plugins']['artifacts'] = {
    # 两种配置方式二选一:
    # 方式1:使用单独端口访问(比如8081)
    'endpoint': 'tcp:port=8081',
    'resource': File(BUILD_ARTIFACTS_DIR),
    
    # 方式2:与Buildbot UI共用端口,通过路径访问(比如/artifacts)
    # 'path': '/artifacts',
    # 'resource': File(BUILD_ARTIFACTS_DIR)
}

可选配置

  • 禁用目录列表:如果不想让用户看到目录结构,初始化File时添加directoryListing=False参数:
    File(BUILD_ARTIFACTS_DIR, directoryListing=False)
    
  • IP访问控制:限制仅特定IP段可访问,需添加Twisted的访问控制模块:
    from twisted.web.static import File
    from twisted.web.util import AccessControl
    
    # 允许访问的IP/IP段
    ALLOWED_IPS = ["192.168.1.0/24", "127.0.0.1"]
    
    artifacts_resource = File(BUILD_ARTIFACTS_DIR)
    protected_resource = AccessControl(artifacts_resource, allowed=ALLOWED_IPS)
    
    c['www']['plugins']['artifacts'] = {
        'path': '/artifacts',
        'resource': protected_resource
    }
    

2. 确保目录权限正确

Buildbot Master进程的运行用户需要对BUILD_ARTIFACTS_DIR拥有读取权限,否则会返回403访问禁止错误。

3. 重启Buildbot Master

使配置生效:

buildbot restart /path/to/your/master/directory

完成后,按照配置的方式访问即可:

  • 单独端口方式:http://<master-ip>:8081
  • 同端口路径方式:http://<master-ip>:8080/artifacts(默认Buildbot UI端口为8080)

内容的提问来源于stack exchange,提问作者shargors

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 12:42:43