buildbot/buildbot-workerbuildbot/buildbot-worker 是 Buildbot 持续集成系统的官方 worker 容器镜像。该镜像仅包含 Buildbot worker 实现,用于连接 Buildbot 主节点(Buildmaster),执行自动化构建、测试任务,是分布式构建/测试架构中的核心执行组件。
作为 Buildbot 分布式架构的 Worker 节点,负责接收主节点(Buildmaster)分配的构建/测试任务,执行具体流程(如代码拉取、编译、单元测试等),并将执行结果反馈给主节点,实现持续集成/持续部署(CI/CD)流程的自动化。
镜像通过环境变量进行配置,以下为必填及可选参数说明:
| 环境变量名称 | 描述 | 可选值/示例 | 是否必填 |
|---|---|---|---|
BUILDMASTER | Buildmaster 主节点的 DNS 或 IP 地址 | buildmaster.example.com 或 192.168.1.100 | 是 |
BUILDMASTER_PORT | 主节点用于 Worker 通信的端口 | 9989(默认 Buildbot 协议端口) | 是 |
BUILDMASTER_PROTOCOL | Worker 与主节点通信的协议 | pb(默认,基于 Twisted PB 协议)、msgpack_experimental_v7(实验性) | 是 |
WORKERNAME | Worker 在主节点配置中声明的名称 | worker-linux-x64 | 是 |
WORKERPASS | Worker 与主节点认证的密码(需与主节点配置一致) | secure_worker_password | 是 |
WORKER_ENVIRONMENT_BLACKLIST | 启动 Worker 前需移除的环境变量(避免敏感信息泄露到构建日志) | WORKERPASS,SECRET_KEY(逗号分隔) | 否 |
docker run)通过以下命令启动 Worker 容器,连接到指定的 Buildmaster:
bashdocker run -d \ --name buildbot-worker \ -e BUILDMASTER=buildmaster.example.com \ -e BUILDMASTER_PORT=9989 \ -e BUILDMASTER_PROTOCOL=pb \ -e WORKERNAME=worker-linux-x64 \ -e WORKERPASS=my_secure_password \ -e WORKER_ENVIRONMENT_BLACKLIST=WORKERPASS,DB_PASSWORD \ buildbot/buildbot-worker
创建 docker-compose.yml 文件,定义 Worker 服务:
yamlversion: '3' services: buildbot-worker: image: buildbot/buildbot-worker container_name: buildbot-worker environment: - BUILDMASTER=buildmaster.example.com - BUILDMASTER_PORT=9989 - BUILDMASTER_PROTOCOL=pb - WORKERNAME=worker-linux-x64 - WORKERPASS=my_secure_password - WORKER_ENVIRONMENT_BLACKLIST=WORKERPASS,SECRET_TOKEN restart: unless-stopped
启动服务:
bashdocker-compose up -d
WORKERPASS 等敏感环境变量需通过 WORKER_ENVIRONMENT_BLACKLIST 移除,避免在构建日志中泄露。BUILDMASTER 和 BUILDMASTER_PORT,NAT 环境下需配置端口映射或反向代理。msgpack_experimental_v7 为实验性协议,生产环境建议使用默认的 pb 协议。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务