跳转到主要内容

Barn 0.5.0:显式处置、显式仓库、可复现镜像

无需确认的整套实验环境清理、全球与中国仓库显式选择、无隐式产物回退,以及八目标官方镜像候选构建流程。
说明

本文为 0.5.0 历史发布记录。0.7.0 已支持官方镜像源自动故障切换,0.9.0 已移除 rm 别名。旧版发行附件已下线,当前版本用法请参见 CLI 参考与安装指南。

Barn 0.5.0 新增了一键彻底清理实验环境的 purge 命令,支持显式选择全球或中国大陆镜像仓库,并为官方客机镜像引入了可复现的离线构建流水线;Pigsty 清单约定、部署状态格式与内置镜像目录修订版 2026082903 保持不变。

主要变化

  • barn purge(0.5.0–0.8.0 中含别名 barn rm) 无需交互确认即可一次删除整套 Linux 部署、持久数据盘、部署密钥、状态文件与默认 SSH 配置片段,同时保留共享镜像缓存与宿主全局网络。当前无部署时执行会自动幂等成功;若残留节点目录无法确认归属,Barn 会中止删除以保护未知文件。
  • 显式选择镜像仓库。 发行二进制默认使用全球源 https://repo.pigsty.io/barn,传入 --mirror 可切换至中国大陆镜像源 https://repo.pigsty.cc/barn。优先级依次为 --repo、--mirror、BARN_REPO 与编译默认值,两个官方入口共用同一套签名镜像目录校验。
  • 严格校验仓库产物。 镜像目录中记录的上游 URL 仅作构建溯源,不再作为隐式下载回退地址。所选仓库必须提供目录指定的 .qcow2 文件,否则拉取直接报错并提示切换仓库或导入本地镜像。
  • 摘要锁定的离线镜像构建器。 源码仓库新增针对 Debian 12/13 与 Rocky Linux 8/9(amd64/arm64)的离线规范化构建器,自动记录精确软件包闭包、SBOM、来源清单与 testing 清单,可组装未签名候选仓库供真机启动测试与签名发布使用。
  • 工具链升级。 源码与发布工具链升级至 Go 1.27.1、GoReleaser 2.18.0、golangci-lint 2.13.2 及最新 Go 依赖模块。

镜像规范化流水线

八目标构建矩阵补齐了各发行版客机的前置依赖:

  • Debian 12/13:预装离线 XFS 用户态工具,支持显式挂载 xfs 数据盘。
  • Rocky Linux 8:补齐 /usr/bin/python3,修复 sshd_config.d 配置片段加载规则,并清理遗留网卡命名状态。
  • Rocky Linux 9:同步清理遗留网络接口状态。

候选镜像在完成真机启动/就绪冒烟测试、双构建一致性比对、生产签名与目录发布前保持未签名与 testing 状态(已于 0.6.0 正式纳入内置目录)。

升级与清理

从 0.4.0 升级无需迁移状态、清单或镜像目录,已有缓存镜像可继续使用。仅在需要无提示彻底丢弃全部部署磁盘与密钥时使用 barn purge;如需保留持久数据盘或仅删除指定节点,请继续使用带确认的 barn destroy。

验证范围

发布提交 fc85b65ff6a24b0933b56ae1179be9ada2ba91b1 已通过完整本地源码门禁(涵盖模块与 Shell 检查、单元测试、竞态测试、go vet、Staticcheck、deadcode、errcheck、govulncheck、四目标交叉构建、镜像流水线与安装器测试、依赖许可证核验及 GoReleaser 2.18.0 校验),标签工作流构建并验证了全部平台归档、DEB/RPM 软件包、SBOM、Homebrew 配方、安装脚本、发布元数据与 SHA-256 校验和。

安装或升级

从 Barn 0.5.0 GitHub 发布页下载安装脚本与发行资产:

curl -fLO https://github.com/pgsty/barn/releases/download/v0.5.0/install.sh
chmod +x install.sh
BARN_VERSION=0.5.0 ./install.sh
barn version
barn doctor

同一预发布页同时附带 Homebrew 配方与 amd64/arm64 DEB/RPM 软件包。