本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

GitLab Merger Bot 是一款用于自动化处理 GitLab 合并请求(Merge Request, MR)的工具。其核心目标是确保每次合并后 master 分支保持"绿色"(即构建通过),通过自动执行 rebase、检查流水线状态、处理冲突等操作,减少人工维护合并请求的时间成本,尤其适用于需要处理大量合并请求的大型项目或单体仓库。
自动化合并流程
状态反馈
bot:skip-squash:跳过提交压缩bot:high-priority:将 MR 置于队列首位(适用于热修复等紧急场景)bot:high-priority 标签优先处理热修复 MR创建 Bot 用户
为 bot 创建独立的 GitLab 账户(推荐专用账户,避免使用可能离开项目的个人账户)
生成个人访问令牌
api 权限范围权限设置
确保 bot 用户拥有合并请求的接受权限(如 Maintainer 或 Admin 角色)
合并设置
在仓库「设置 > 合并请求」中配置:
docker run -d --name gitlab-merger-bot --restart on-failure \ # -e GITLAB_URL="[***]" \ # 自托管 GitLab 实例需指定 -e GITLAB_AUTH_TOKEN="<your-bot-token>" \ -v "$(pwd)/data":/data \ pepakriz/gitlab-merger-bot:latest
创建 docker-compose.yml:
version: '3' services: gitlab-merger-bot: image: pepakriz/gitlab-merger-bot:latest container_name: gitlab-merger-bot restart: on-failure environment: # GITLAB_URL: "[***]" # 自托管实例取消注释并修改 GITLAB_AUTH_TOKEN: "<your-bot-token>" CI_CHECK_INTERVAL: 10 # 流水线检查间隔(秒) MR_CHECK_INTERVAL: 20 # MR 检查间隔(秒) REMOVE_BRANCH_AFTER_MERGE: "true" # 合并后删除分支 volumes: - ./data:/data # 持久化队列数据
启动服务:
docker-compose up -d
helm repo add gitlab-merger-bot [***]
helm install gitlab-merger-bot gitlab-merger-bot \ # --set settings.gitlabUrl="[***]" \ # 自托管实例需指定 --set settings.authToken="<your-bot-token>"
# 克隆代码并安装依赖 git clone [***] cd gitlab-merger-bot yarn install # 构建并启动 yarn run build GITLAB_AUTH_TOKEN="<your-bot-token>" yarn run start
通过环境变量配置 bot 行为,支持以下参数:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
GITLAB_URL | [***] | GitLab 实例 URL(自托管实例需修改) |
GITLAB_AUTH_TOKEN | - | 必填,GitLab 个人访问令牌(api 权限) |
CI_CHECK_INTERVAL | 10 | 流水线状态检查间隔(秒) |
MR_CHECK_INTERVAL | 20 | 合并请求状态检查间隔(秒) |
REMOVE_BRANCH_AFTER_MERGE | true | 合并后自动删除源分支 |
SQUASH_MERGE_REQUEST | true | 合并时压缩提交 |
AUTORUN_MANUAL_BLOCKING_JOBS | true | 自动触发手动阻塞任务 |
SKIP_SQUASHING_LABEL | bot:skip-squash | 跳过压缩的标签名称 |
HI_PRIORITY_LABEL | bot:high-priority | 高优先级标签名称(置于队列首位) |
SENTRY_DSN | 空字符串 | Sentry DSN(启用监控) |
HTTP_SERVER_ENABLE | false | 启用实验性 API 和 dashboard |
HTTP_SERVER_PORT | 4000 | HTTP 服务端口(需启用 HTTP_SERVER_ENABLE) |
WEB_HOOK_TOKEN | 空字符串 | 启用实验性 WebHook 支持 |
使用 *** 暴露本地服务:
***_AUTH=<your-***-auth-token> docker run -it --rm --net=host -p 4040:4040 -e ***_AUTH="$***_AUTH" wernight/*** *** http 4000
需先启用 HTTP 服务(
HTTP_SERVER_ENABLE=true)并配置WEB_HOOK_TOKEN。
!分配给 Bot
!合并成功
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429