Skip to main content

部署/发布

Home Assistant 操作系统的发布是从发布分支构建的。GitHub Actions 用于构建所有公开发布版本。没有固定的时间表,构建根据 HAOS 维护者的需要进行触发。更改需要首先应用于开发分支,并标记为 rel-x 标签。维护者将在下一个发布之前将这些补丁回移植到发布分支上。

分支

  • dev:开发分支。在开发期间承载下一个主要版本。在发布候选阶段,此分支上会标记发布候选版本。
  • rel-X:发布分支。每个主要发布一个。通常新的发布仅从上一个主要发布版本构建。每个发布都被标记其版本号。

版本控制

版本的格式是 MAJOR.BUILD。每当发布一个新版本时,BUILD号就会增加(存储在 buildroot-external/meta)。MAJOR号从开发分支继承,并在发布分支创建后立即递增。

构建系统默认自动添加 dev{DATE} 后缀来标记开发构建。

在新的主要发布之前,可以在开发分支上构建发布候选版本。发布候选版本后缀用于标记它们,例如 MAJOR.0.rc1

部署类型

HAOS 提供 3 种不同类型的部署。这些部署在用于空中更新的公钥上有所不同。部署类型在 Supervisor 网络前端的主机卡的系统标签中显示。

  • 开发 (dev)
  • 测试 (beta)
  • 生产 (stable)

构建流水线

GitHub Actions 用于构建 HAOS 开发和发布构建。存在两个工作流程:

  • .github/workflows/dev.yml:开发构建,手动触发,映像存储在 os-builds.home-assistant.io
  • .github/workflows/release.yml:发布(和发布候选)构建,在 GitHub 发布时触发,映像存储为 GitHub 发布资产。

开发构建流水线也可以通过 PR 进行触发:首先需要设置适当的板标签,当添加 run-dev-build 标签时,将为这些板触发构建。