For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /developers/operating-system/deployment.md.

部署与发布

Home Assistant Operating System 的发布版本从 release 分支构建。GitHub Actions 用于构建所有公开发布版本。没有固定的时间表,构建由 HAOS 维护者按需触发。更改需要先应用到开发分支,并标记 rel-x 标签。维护者将在下一次发布前将这些补丁 backport 到 release 分支。

分支

  • dev:开发分支。在开发过程中承载下一个主要版本。在 release candidate 阶段,release candidate 会在此分支上打标签。
  • rel-X:发布分支。每个主要版本一个。通常新的发布版本只从最后一个主要版本号构建。每个版本都会打上一个版本号标签。

版本控制

版本的格式为 MAJOR.BUILD。每次发布新 release,BUILD 编号都会递增(存储在 buildroot-external/meta 中)。MAJOR 编号继承自开发分支,并在创建 release 分支后立即递增。

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

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

部署类型

HAOS 提供 3 种不同类型的部署。不同部署之间的区别在于它们为 over the air 更新包含了哪些公钥。部署类型显示在 Supervisor web 前端的 System 选项卡中的 Host 卡片上。

  • development(dev)
  • staging(beta)
  • production(stable)

构建流水线

GitHub Actions 用于构建 HAOS 的开发版本和发布版本。存在两个 workflow:

  • .github/workflows/dev.yml:开发构建,手动触发,镜像存储在 os-builds.home-assistant.io
  • .github/workflows/release.yml:发布(和 release candidate)构建,在 GitHub release 发布时触发,镜像作为 GitHub release asset 存储。

开发构建流水线也可以从 PR 触发:首先需要设置相应的板卡标签,然后在添加 run-dev-build 标签时会为这些板卡触发构建。