kube-ovn github workflow 应用

55 阅读1分钟

kube-ovn github workflow

最近老是遇到分支没有推送 base 镜像的问题,后来聊了下发现 PR 触发构建镜像,但是不会触发推送镜像。所以每次看到 PR 的 ci 流程没问题,但是合入之后老是触发 base 镜像找不到的问题。

这个地方还要多注意一个地方:

  1. PR 流程: 这个流程肯定是要触发 base 镜像 docker build 的, 但是这个流程检查完 e2e 之后,以及之前的过程中,没有 push base 镜像。 e2e 虽然过了,但是后续如果直接在分支中 cherry-pick 或者 直接 push。 由于不走 pr 的流程,所以会触发 base 镜像不存在的问题。 如果build后直接触发push,也是一个很好的策略。可以避免发新版本后,base 改动后功能改动避免触发 base 镜像缺失。

  2. 每日构建流程: base 镜像由于非常耗时,目前都是每天构建推送一次。 这个每天推送的镜像,会用于 PR 流程中,PR 流程如果判定 base 镜像的 Dockerfile 有修改,则会自己构建(只改版本也不会触发构建),如果没有修改 base 镜像的 Dockerfile,则只能从 docker hub 拉取之前构建的镜像。

目前来看,每加一个新的分支,比如发布新的 master 版本,就要加一个在 workflow 中添加一个新的 release 版本,用于触发每天构建并上传一个 base 镜像。

目前只有两个 base 镜像的 workflow


.github/workflows/build-kube-ovn-base-dpdk.yaml

.github/workflows/build-kube-ovn-base.yaml

.github/workflows/scheduled-e2e.yaml