Buildbot 是一个开源的持续集成(CI)框架,旨在自动化软件构建、测试和部署流程。本镜像为 Buildbot 框架的核心组件 Master 的 Docker 封装。Master 组件作为整个 Buildbot 系统的中枢,负责协调构建流程、管理 Worker 节点、处理构建请求、调度任务执行及生成构建报告,是实现 CI/CD 流程自动化的核心控制节点。
该镜像由 Buildbot 项目维护团队(Botherders)开发维护,项目主页:[***]
Buildbot 采用模块化设计,Master 与 Worker、Web 界面(www/base、www/console_view、www/waterfall_view 等)等组件协同工作,实现完整的 CI/CD 流程闭环。
支持自定义构建触发器(如代码提交、定时任务)、多阶段构建流程配置,可适配复杂的项目构建需求。
集成 Console View、Waterfall View 等 Web 界面组件,提供实时构建状态监控、历史记录查询和任务进度跟踪。
支持与主流版本控制系统(Git、SVN 等)、测试框架及部署工具集成,可通过插件扩展功能,适配多平台构建场景。
适用于软件开发流程中的自动化构建、测试和部署,减少人工干预,提升开发效率。
支持跨操作系统(如 Linux、Windows、macOS)及架构(x86、ARM)的构建任务调度,满足多平台兼容性测试需求。
无论是小型开源项目还是大型企业级应用,均可通过 Buildbot Master 实现构建流程标准化和自动化。
支持基于时间(如夜间构建)或事件(如代码合并)的构建任务触发,适配灵活的开发节奏。
bashdocker run -d \ --name buildbot-master \ -p 8010:8010 \ # Web 界面端口 -v /path/to/local/config:/etc/buildbot \ # 挂载本地配置目录 buildbot/master:latest
-p 8010:8010:映射 Master 的 Web 界面端口(默认 8010);-v /path/to/local/config:/etc/buildbot:挂载本地配置目录,包含 master.cfg(构建流程配置)等核心文件;--name buildbot-master:指定容器名称,便于管理。推荐结合数据库(如 PostgreSQL)和 Worker 节点使用,以下为典型 docker-compose.yml 示例:
yamlversion: '3.8' services: buildbot-master: image: buildbot/master:latest container_name: buildbot-master ports: - "8010:8010" # Web 界面端口 volumes: - ./master-config:/etc/buildbot # 本地配置目录挂载 - buildbot-data:/var/lib/buildbot # 数据持久化卷 environment: - BUILDBOT_DB_URL=postgresql://user:password@db:5432/buildbot # 数据库连接 URL - BUILDBOT_WEB_URL=http://localhost:8010/ # Web 访问地址 - BUILDBOT_ADMIN=*** # 管理员*** depends_on: - db restart: unless-stopped db: image: postgres:14 container_name: buildbot-db environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password - POSTGRES_DB=buildbot volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped volumes: buildbot-data: postgres-data:
| 变量名 | 说明 | 默认值 |
|---|---|---|
BUILDBOT_DB_URL | 数据库连接 URL(支持 SQLite/PostgreSQL/MySQL) | sqlite:///state.sqlite(默认) |
BUILDBOT_WEB_URL | Web 界面访问地址 | http://localhost:8010/ |
BUILDBOT_ADMIN | 管理员***(用于系统通知) | *** |
BUILDBOT_MASTER_PORT | Master 与 Worker 通信端口 | 9989 |
核心配置文件 master.cfg 需挂载至 /etc/buildbot/master.cfg,用于定义构建流程(如代码拉取、编译、测试步骤)、Worker 管理规则等。示例配置片段:
python# master.cfg 示例(简化版) from buildbot.plugins import * c = BuildmasterConfig = {} # 配置 Worker 认证 c['workers'] = [worker.Worker("worker-1", "worker-password")] # 配置构建工厂(定义构建步骤) f = util.BuildFactory() f.addStep(steps.Git(repourl="[***]", mode="full")) f.addStep(steps.ShellCommand(command=["make"])) f.addStep(steps.ShellCommand(command=["make", "test"])) # 配置构建器 c['builders'] = [ builder.BuilderConfig(name="default", workernames=["worker-1"], factory=f) ] # 配置 Web 界面 c['www'] = dict(port=8010, plugins=dict(waterfall_view={}, console_view={}))
为避免容器重启后配置和构建数据丢失,需挂载以下目录:
/etc/buildbot:存放 master.cfg 等配置文件;/var/lib/buildbot:存放构建历史、状态数据及临时文件(建议通过 Docker 卷挂载)。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429