使用 alpha generate 重新生成项目

概述

kubebuilder alpha generate 命令会使用当前安装的 CLI 与插件版本为你的项目重新生成脚手架。

它会基于 PROJECT 文件中指定的配置重新生成完整脚手架。这使你能够应用 Kubebuilder 新版本引入的最新布局变更、插件特性与代码生成改进。

你可以选择在原地重新生成(覆盖现有文件),或输出到其他目录以进行差异比较与手动集成。

适用场景

当 Kubebuilder 引入新变更时,你可以使用 kubebuilder alpha generate 升级项目脚手架。这包括插件更新(例如 go.kubebuilder.io/v3go.kubebuilder.io/v4)或 CLI 版本更新(例如 4.3.1 → 最新)。

当你想要:

  • 让项目使用最新布局或插件版本
  • 重新生成脚手架以包含最近的变更
  • 将当前脚手架与最新版本进行比较并手动应用更新
  • 创建一个干净的脚手架以审阅或测试变更

当你希望完全掌控升级流程时,请使用该命令。如果项目由较旧的 CLI 版本创建且不支持 alpha update,该命令也很有用。

这种方式允许你对比当前分支与上游脚手架更新(例如主分支)之间的差异,并帮助你将自定义代码覆盖到新脚手架之上。

如何使用

将当前项目升级到已安装的 CLI 版本(最新脚手架)

kubebuilder alpha generate

运行该命令后,项目会在原地重新生成脚手架。你可以将本地变更与主分支对比以查看更新内容,并按需将自定义代码叠加上去。

在新目录生成脚手架

使用 --input-dir--output-dir 指定输入与输出路径。

kubebuilder alpha generate \
  --input-dir=/path/to/existing/project \
  --output-dir=/path/to/new/project

执行后,你可以在指定的输出目录中查看生成的脚手架。

参数

Flag描述
--input-dirPROJECT 文件的目录路径。默认 CWD。原地模式下会删除除 .gitPROJECT 外的所有文件
--output-dir输出脚手架的目录。未设置时在原地重新生成
--plugins本次生成所使用的插件键
-h, --help显示帮助

更多资源