
marsyang1/bitbucket-ci-runnerBitbucket CI Runner是一个自托管的Docker镜像,作为Bitbucket Pipelines的私有运行环境解决方案。它允许用户在自有基础设施(物理服务器、私有云或数据中心)上执行Bitbucket CI/CD流水线,替代Bitbucket官方托管运行器,解决托管服务在资源限制、数据隐私和环境定制方面的不足,提供对CI/CD执行环境的完全控制。
https://api.bitbucket.org)在Bitbucket工作区控制台依次进入:设置 > Pipelines > 运行器 > 添加运行器,选择"自托管运行器",生成并复制令牌(有效期通常为30分钟)。
bashdocker run -d \ --name bitbucket-ci-runner \ --restart unless-stopped \ -e BITBUCKET_RUNNER_TOKEN="your-runner-token" \ -e RUNNER_NAME="prod-ci-runner-01" \ -e MAX_JOBS=2 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v runner-data:/opt/bitbucket-runner \ marsyang1/bitbucket-ci-runner:latest
创建docker-compose.yml文件:
yamlversion: '3.8' services: bitbucket-runner: image: marsyang1/bitbucket-ci-runner:latest container_name: bitbucket-ci-runner restart: unless-stopped environment: # 必需参数 - BITBUCKET_RUNNER_TOKEN=your-runner-token # 替换为Bitbucket生成的令牌 # 可选参数 - RUNNER_NAME=backend-team-runner # 运行器显示名称(默认自动生成) - MAX_JOBS=3 # 最大并发作业数(默认1) - LOG_LEVEL=info # 日志级别:debug/info/warn/error(默认info) - WORKING_DIR=/opt/workspace # 作业工作目录(默认/opt/bitbucket-runner/workspace) - HTTP_PROXY=http://proxy:3128 # 代理配置(如需要) - HTTPS_PROXY=https://proxy:3128 - NO_PROXY=localhost,127.0.0.1,bitbucket.org volumes: # 必需:允许运行器管理主机Docker容器(执行作业) - /var/run/docker.sock:/var/run/docker.sock # 推荐:持久化运行器配置与日志 - runner-data:/opt/bitbucket-runner # 可选:挂载自定义工具目录(如私有依赖库) # - /opt/local-tools:/usr/local/custom-tools resources: limits: cpus: '4' # CPU核心限制 memory: 8G # 内存限制 volumes: runner-data: # 自动创建Docker卷,持久化运行器数据
启动服务:
bashdocker-compose up -d
| 环境变量 | 类型 | 描述 | 默认值 |
|---|---|---|---|
BITBUCKET_RUNNER_TOKEN | 必需 | Bitbucket工作区生成的自托管运行器令牌,用于身份验证与注册 | 无 |
RUNNER_NAME | 可选 | 运行器在Bitbucket控制台显示的名称,用于区分多运行器 | runner-<随机字符串> |
MAX_JOBS | 可选 | 最大并发执行的作业数(根据服务器资源调整) | 1 |
LOG_LEVEL | 可选 | 日志输出级别,调试时建议设为debug | info |
WORKING_DIR | 可选 | 作业执行的根目录,用于存储临时文件与构建产物 | /opt/bitbucket-runner/workspace |
BITBUCKET_API_URL | 可选 | Bitbucket API基础地址(通常无需修改) | https://api.bitbucket.org |
HTTP_PROXY/HTTPS_PROXY | 可选 | 网络代理配置,用于受限环境访问Bitbucket API | 无 |
容器状态检查:
bashdocker logs bitbucket-ci-runner
成功启动会显示:Runner registered successfully with ID: <runner-id> 和 Waiting for jobs...
Bitbucket控制台验证: 在Bitbucket工作区 Pipelines > 运行器 页面,可看到新注册的运行器状态为"在线"。
docker logs -f bitbucket-ci-runner(实时查看作业执行日志)runner-data/logs/(通过卷挂载可在主机查看)docker pull marsyang1/bitbucket-ci-runner:latestdocker-compose down && docker-compose up -d(数据卷会保留注册信息)根据实际作业负载调整MAX_JOBS和CPU/内存限制,建议通过监控工具(如Prometheus+Grafana)观察资源使用率后逐步优化。
最小权限原则:
--privileged模式运行容器镜像安全:
令牌管理:
数据隔离:
RUNNER_NAME标识
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务