首页 / 源码构建

从源码构建

适用于:无法或不愿直接拉取 GHCR 镜像、需要审计构建过程、或希望自定义镜像的场景。

前提

构建 console 镜像

git clone https://github.com/nghqqa/MergePilot.git
cd MergePilot && git checkout v0.2.0-beta.6-rc.16   # 与官方镜像同源的源码 tag

# ① 先构建前端产物(Dockerfile 会 COPY console/frontend/dist)
cd console/frontend && npm ci && npm run build && cd ../..

# ② 构建镜像(版本号决定 /api/health 的 version 字段)
docker build -f docker/Dockerfile.canonical-console \
  --build-arg MERGEPILOT_VERSION=0.2.0-beta.6-rc.16 \
  -t mergepilot-console:v0.2.0-beta.6-rc.16 .
两个常见坑:① 忘记先构建 console/frontend/dist(COPY 会失败); ② 忘记 --build-arg MERGEPILOT_VERSION(健康检查会报旧 fallback 版本号)。

可复现性

同 commit + 同构建参数下镜像内容一致。官方 digest sha256:f0b30fd1…3897 的构建源即 tag v0.2.0-beta.6-rc.16 (commit a68057f28b)。自建镜像的 image ID 会因构建时间戳与官方不同, 但功能等价;若需要与官方逐位一致,请直接使用官方 digest 拉取。

接入 compose

编辑 deploy/selfhost/docker-compose.yml,把 console 的 image: 改为你的本地引用:

image: mergepilot-console:v0.2.0-beta.6-rc.16

其余配置不变。

离线 tar 途径

无法访问 GHCR 时,可使用离线 tar(SHA256 见 下载与校验):docker load -i mergepilot-console-rc16.tar, 加载后镜像 ID 与官方 digest 拉取完全一致。