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=admin@example.com # 管理员邮箱 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 | 管理员***(用于系统通知) | admin@example.com |
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="https://github.com/example/project.git", 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 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务