二进制文件

如何发布 minikube 二进制文件

准备工作

  • 在 #minikube 上宣布发布意图
  • 暂停合并请求,以防止它们意外地被遗漏在 ISO 或发行说明中
  • 在本地检出两个 minikube 仓库
    • 您的个人 fork
    • 上游仓库

更新 Kubernetes 版本

  • 从本地上游仓库副本运行 make update-kubernetes-version
  • 如果任何文件被更新,请在继续之前创建并合并 PR

构建新的 ISO

  • 所有非补丁版本都需要构建新的 ISO。
  • 如果自上次发布以来 deploy/iso 目录发生了更改,则补丁版本 (vx.x.1+) 需要新的 ISO。

请参阅 ISO 发布说明

发布新的 kicbase 镜像

在 Jenkins 中运行 kic-release 作业,该作业将自动创建一个必须合并的 PR(请确保输入正确的版本和仓库)。

更新发行说明

从本地上游仓库副本运行以下脚本以生成更新的发行说明

make release-notes

将输出粘贴到 CHANGELOG.md 中,按对最终用户的重要性对更改进行排序。如果有 8 个以上的更改,请将它们拆分为改进错误修复

  • 变更日志应仅包含面向用户的更改。这意味着删除以下 PR:
    • 文档
    • 低风险重构
    • 仅测试更改
  • 从贡献者列表中删除机器人
  • 从贡献者列表中删除重复的相似名称

您可以随时合并此 PR,或者将其与 Makefile 更新 PR 合并。

更新 Makefile

更新 Makefile 中的版本号

  • VERSION_MAJORVERSION_MINORVERSION_BUILD

标记发行版本

sh hack/tag_release.sh 1.<minor>.<patch>

构建发行版本

此步骤使用 git 标签将新的二进制文件发布到 GCS 并创建一个 GitHub 版本

  • 导航到 minikube “Release” jenkins 作业
  • 确保您已登录(右上角)
  • 单击 “▶️ 使用参数构建”(左侧)
  • VERSION_MAJORVERSION_MINORVERSION_BUILD 应反映您 Makefile 中的值
  • 对于 ISO_SHA256_AMD64,请运行:gsutil cat gs://minikube/iso/minikube-v<version>-amd64.iso.sha256
  • 对于 ISO_SHA256_ARM64,请运行:gsutil cat gs://minikube/iso/minikube-v<version>-arm64.iso.sha256
  • 单击构建

检查发行日志

作业完成后,单击“控制台输出”以验证发布是否完成且没有错误。这通常是例如 brew 自动化失败的地方。

注意:如果您正在发布 beta 版,则到这里就完成了。

合并 releases.json 更改

发布脚本会更新 https://storage.googleapis.com/minikube/releases.json - minikube 二进制文件使用它来检查更新,并且会立即生效。

minikube-bot 也会发送 PR 以将其合并到树中。请合并此 PR 以保持 GCS 和 GitHub 同步。

包含 minikube 的包管理器

这些是其他人维护的下游软件包,以及如何升级它们以确保它们拥有最新版本

软件包管理器 URL 待办事项
Arch Linux AUR https://aur.archlinux.org/packages/minikube-bin/ “标记为软件包已过期”
Brew Cask https://github.com/Homebrew/homebrew-cask/tree/master/Casks 发布作业会在 Homebrew/homebrew-cask 中创建一个新的 PR,其中包含更新的版本和 SHA256,请仔细检查是否已创建。

警告:Brew cask 自动化容易出错。请确保创建了一个 PR。

验证

通过运行 make check-release 验证发布校验和

更新文档

如果有重大更改,请发送 PR 以更新 https://kubernetes.ac.cn/docs/setup/learning-environment/minikube/

更新 SECURITY-INSIGHTS.yml

SECURITY-INSIGHTS.yml 进行适当的更改。有关参考,请查看 OPENSSF 安全洞察规范

发布

请在 https://github.com/kubernetes/minikube/blob/master/README.md 中提及新版本

其他地方

  • Slack 上的 #minikube
  • minikube-dev,minikube-users 邮件列表
  • Twitter(现在已通过 @minikube_dev 帐户自动进行)

最后修改时间为 2023 年 12 月 16 日:添加 SECURITY-INSIGHTS.yml (1aed17600)