Zeabur Builderv1alpha1

推送 commit,拿到镜像 digest

Zeabur Builder 是用 BuildKit 从 Git 构建镜像的 Kubernetes Operator。每个新 commit 构建一次,推送到镜像仓库,再把镜像写进 status.latestImage,交给你的部署工具。

只负责构建,部署交给你原来的工具

从 ref 到 digest,每一步都是 Kubernetes 对象

  1. 解析 ref

    controller 通过 Git 的 smart HTTP 或 SSH,把 Build 的 ref 解析成 commit。

  2. 构建

    新的 commit 会创建一个 BuildRun 和一个 Job。Job 对同一个 Namespace 的 buildkitd 运行 buildctl,不需要特权。

  3. 推送

    镜像推送到镜像仓库,digest 和标签写进 BuildRun 和 Build。

什么时候会构建

触发方式怎么运作需要配置
轮询controller 每分钟向 Git 服务器查询一次 ref不用配置,spec.triggers.pollInterval 可调整
Push webhookGitHub、GitLab、Gitea、Forgejo、Bitbucket 和 Standard Webhooks在 chart 中启用 webhooks,每个 Build 一个 secret
GitHub App私有仓库用短期的 installation token,每个 commit 都有 commit status集群管理员创建一次 App
手动修改 builder.zeabur.com/rebuild 注解,重新构建当前 commitspec.suspend 可停止自动构建

一个 Build,对应一个仓库

Build 写明 Git 仓库和构建方式。没写 ref 时跟随默认分支,status.resolvedRef 会写出是哪个分支。

apiVersion: builder.zeabur.com/v1alpha1
kind: Build
metadata: {name: whoami, namespace: team-a}
spec:
  source: {git: {url: https://github.com/traefik/whoami}}
  builderRef: dockerfile