跳转到主要内容

publish

11 篇
  • SOW v0.4.0

    Vonng 发布于 发布注记 1843 字 4 分钟

    VonngReleasereleasemanagedsigningpublishmigration

    SOW v0.4.0

    SOW 0.4.0 改进了 Managed 仓库的校验与恢复。check 只对每个物理软件包计算一次内容哈希;RPM 验签分别判断各组密钥的信任结果;发布目标可通过有记录的重绑定操作修改公共 URL 或缓存时间。 Plain 行为与公共 pool/、dists/ 布局保持不变。本文记录 0.4.0;升级到当前版本请按安装指南操作。 从 0.3 升级到 0.4 停止工作区写入,备份完整工作区并保留硬链接。安装 0.4.0 后,先迁移每个已配置的 Repository,再继续维护: set -euo …

    SOW 0.4.0 改进了 Managed 仓库的校验与恢复。check 只对每个物理软件包计算一次内容哈希;RPM 验签分别判断各组密钥的信任结果;发布目标可通过有记录的重绑定操作修改公共 URL 或缓存时间。 Plain 行为与公共 pool/、dists/ 布局保持不变。本文记录 0.4.0;升级到当前版本请按安装指南操作。 从 0.3 升级到 0.4 停止工作区写入,备份完整工作区并保留硬链接。安装 0.4.0 后,先迁移每个已配置的 Repository,再继续维护: set -euo …

  • 协同发布决策记录

    Vonng 发布于 设计归档 577 字 2 分钟

    VonngDesignpublishtransactionobject-storagedecision

    协同发布决策记录

    SOW 0.4.0 保留了原生 filesystem 与 r2 发布后端。早期提案曾计划使用 rclone,并增加远端审计和预览命令。 最终选择原生后端,是因为 SOW 需要逐项记录条件写入及其结果。 当前命令语法见 sow publish。 为什么保留原生后端 发布计划为每个文件记录预期 SHA-256 和操作。后端需要创建不可变对象,避免覆盖已有内容,并按条件更新可变入口文件。 SOW 记录操作结果,用于中断后继续发布。 批量复制工具需要额外的身份与检查点模型才能保留这些规则。0.4 选择 …

    SOW 0.4.0 保留了原生 filesystem 与 r2 发布后端。早期提案曾计划使用 rclone,并增加远端审计和预览命令。 最终选择原生后端,是因为 SOW 需要逐项记录条件写入及其结果。 当前命令语法见 sow publish。 为什么保留原生后端 发布计划为每个文件记录预期 SHA-256 和操作。后端需要创建不可变对象,避免覆盖已有内容,并按条件更新可变入口文件。 SOW 记录操作结果,用于中断后继续发布。 批量复制工具需要额外的身份与检查点模型才能保留这些规则。0.4 选择 …

  • 发布与恢复

    Vonng 发布于 设计归档 1335 字 3 分钟

    VonngDesignpublishtransactionobject-storage

    发布与恢复

    构建生成本地快照(Generation)。发布把快照中的文件上传到目标,并记录进度,以便中断后继续。 每个目标分别保存检查点,记录上次完成发布的内容。 状态归属 Repository 记录 目标记录 软件包、Desired 状态与 Built 状态 发布尝试与检查点 Generation 与变更集 远端清单 保留的包和元数据引用 宽限期与删除记录 发布顺序 固定发布计划 -> 上传包体 -> 上传不可变元数据 -> 记录提交意图 -> 按视图逐一更新协议入口文件 -> 校验存储与公共 URL …

    构建生成本地快照(Generation)。发布把快照中的文件上传到目标,并记录进度,以便中断后继续。 每个目标分别保存检查点,记录上次完成发布的内容。 状态归属 Repository 记录 目标记录 软件包、Desired 状态与 Built 状态 发布尝试与检查点 Generation 与变更集 远端清单 保留的包和元数据引用 宽限期与删除记录 发布顺序 固定发布计划 -> 上传包体 -> 上传不可变元数据 -> 记录提交意图 -> 按视图逐一更新协议入口文件 -> 校验存储与公共 URL …

  • SOW v0.2.0

    Vonng 发布于 发布注记 623 字 2 分钟

    VonngReleasereleasemanagedsigningpublishgeneration

    SOW v0.2.0

    SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 repodata/,DEB 生成 Packages 与 Packages.gz,混合目录同时生成两种索引。Plain …

    SOW 0.2.0 引入了面向 RPM 与 DEB 仓库的 Plain 和 Managed 工作流。它以单个 Go 可执行文件,在 Linux 或 macOS 上构建静态软件包仓库。 本文记录 0.2.0 发布时的功能。当前安装与操作方法见现行文档。 构建平面仓库 Plain 模式索引目录顶层的 RPM 与 DEB 文件: sow create /srv/repo RPM 生成 repodata/,DEB 生成 Packages 与 Packages.gz,混合目录同时生成两种索引。Plain …

  • sow gc

    发布于 命令

    Commandcligcretentionpublish

    使用 sow gc 回收本地不再需要的包文件。使用 sow gc TARGET 维护配置的发布目标。文件系统目标可以删除符合条件的对象;R2 目标只报告候选对象。 语法 sow gc [-C|--workdir DIR] [-r|--repo NAME] [-T|--timeout DUR | -N|--no-wait] [--json] sow gc TARGET [-C|--workdir DIR] [-T|--timeout DUR | -N|--no-wait] [--json] 参数 …

    使用 sow gc 回收本地不再需要的包文件。使用 sow gc TARGET 维护配置的发布目标。文件系统目标可以删除符合条件的对象;R2 目标只报告候选对象。 语法 sow gc [-C|--workdir DIR] [-r|--repo NAME] [-T|--timeout DUR | -N|--no-wait] [--json] sow gc TARGET [-C|--workdir DIR] [-T|--timeout DUR | -N|--no-wait] [--json] 参数 …

  • sow publish

    发布于 命令

    Commandclipublishobject-storagefilesystem

    sow publish 将当前构建快照复制到 sow.yml 的 targets: 中配置的目标。目标配置指定仓库与存储类型。需要发布最新期望状态时,先完成构建。 语法 sow publish TARGET [--abort | --rebind] [-C|--workdir DIR] [-T|--timeout DUR | -N|--no-wait] [--json] 参数 含义 默认值 --abort 放弃尚未进入提交阶段的中断发布 false --rebind 确认并记录允许修改的目标名称 …

    sow publish 将当前构建快照复制到 sow.yml 的 targets: 中配置的目标。目标配置指定仓库与存储类型。需要发布最新期望状态时,先完成构建。 语法 sow publish TARGET [--abort | --rebind] [-C|--workdir DIR] [-T|--timeout DUR | -N|--no-wait] [--json] 参数 含义 默认值 --abort 放弃尚未进入提交阶段的中断发布 false --rebind 确认并记录允许修改的目标名称 …

  • sow changes

    发布于 命令

    Commandclipublishgeneration

    sow changes 列出基准构建快照与当前构建快照之间的文件差异。路径相对于仓库根目录。需要包含尚未构建的期望变化时,先运行 sow build。 语法 sow changes [BASE_GENERATION] [-C|--workdir DIR] [-r|--repo NAME] [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 --json 输出 JSON false 该命令作用于整个 …

    sow changes 列出基准构建快照与当前构建快照之间的文件差异。路径相对于仓库根目录。需要包含尚未构建的期望变化时,先运行 sow build。 语法 sow changes [BASE_GENERATION] [-C|--workdir DIR] [-r|--repo NAME] [--json] 参数 含义 默认值 -C, --workdir DIR 工作区发现起点 当前目录 -r, --repo NAME 选择仓库 选择规则 --json 输出 JSON false 该命令作用于整个 …

  • 演练构建 pigsty-infra 仓库

    发布于 教程

    Tutorialyumrpmmanagedpublish

    pgsty/infra-pkg 是 Pigsty Infra 软件包的上游构建源码。 本教程使用已构建的 x86-64 与 ARM64 RPM、DEB,创建包含滚动频道、稳定发布与月度快照的 infra 仓库。先安装 SOW、jq 与 Docker。安装示例使用 pg-exporter;请包含该包,以及客户端镜像中尚未安装的依赖。 1. 把包集中到 ~/repo 为本工作区使用新的 ~/repo 目录。从 infra-pkg 源码目录复制软件包到两个输入目录: mkdir -p …

    pgsty/infra-pkg 是 Pigsty Infra 软件包的上游构建源码。 本教程使用已构建的 x86-64 与 ARM64 RPM、DEB,创建包含滚动频道、稳定发布与月度快照的 infra 仓库。先安装 SOW、jq 与 Docker。安装示例使用 pg-exporter;请包含该包,以及客户端镜像中尚未安装的依赖。 1. 把包集中到 ~/repo 为本工作区使用新的 ~/repo 目录。从 infra-pkg 源码目录复制软件包到两个输入目录: mkdir -p …

  • 服务与发布仓库

    发布于 教程

    Tutorialpublishfilesystemmanaged

    SOW 生成静态仓库文件。本教程把 Managed 仓库发布到独立目录,再用 Nginx 提供服务。先完成第一个工作区。 源目录是 /srv/sow/local,公开副本将位于 /srv/repo-public/local。 两者都包含完整的 pool/ 与 dists/ 目录树。工作区配置与私有状态保留在服务目录之外。 1. 构建并检查 cd /srv/sow sow build -r local sow check -r local check 成功后继续。 2. 添加 filesystem …

    SOW 生成静态仓库文件。本教程把 Managed 仓库发布到独立目录,再用 Nginx 提供服务。先完成第一个工作区。 源目录是 /srv/sow/local,公开副本将位于 /srv/repo-public/local。 两者都包含完整的 pool/ 与 dists/ 目录树。工作区配置与私有状态保留在服务目录之外。 1. 构建并检查 cd /srv/sow sow build -r local sow check -r local check 成功后继续。 2. 添加 filesystem …

  • 教程

    发布于 教程

    Tutorialyumaptsigningpublish

    本节介绍仓库创建、签名、发布与更新。尚未安装 SOW 时,先看安装。 迁移现有 YUM 仓库 替换平面 RPM 仓库的元数据生成工具,保留发布时间、签名与客户端缓存兼容性。 搭建 YUM 仓库 创建 RPM 架构视图,过滤软件包,设置版本上限并配置 DNF。 搭建 APT 仓库 创建 DEB 包池与 by-hash 索引,并配置 APT 客户端。 仓库签名 签署元数据与 RPM 软件包,再配置客户端验签。 对外服务 发布到 filesystem 目标,并用 Nginx 提供服务。 构建 …

    本节介绍仓库创建、签名、发布与更新。尚未安装 SOW 时,先看安装。 迁移现有 YUM 仓库 替换平面 RPM 仓库的元数据生成工具,保留发布时间、签名与客户端缓存兼容性。 搭建 YUM 仓库 创建 RPM 架构视图,过滤软件包,设置版本上限并配置 DNF。 搭建 APT 仓库 创建 DEB 包池与 by-hash 索引,并配置 APT 客户端。 仓库签名 签署元数据与 RPM 软件包,再配置客户端验签。 对外服务 发布到 filesystem 目标,并用 Nginx 提供服务。 构建 …

  • 设计归档

    发布于 设计归档 204 字 1 分钟

    Designmanagedpublishtransaction

    设计归档

    设计归档解释 SOW 在仓库布局、状态模型和发布流程上的选择。 文章日期记录决策成文时间,修改日期记录后续修订。 了解当前设计,可以从以下文章开始: 系统模型:软件包、发行版、构建快照与发布目标。 一棵包体树:为什么多个视图共用包池。 发布与恢复:上传顺序、检查点与清理。 设计原则:状态归属与写入协调。 历史系列介绍 v0.1 产品计划、设计决策与测试,以及 v0.2 重构和后续版本,并链接到对应源码快照。 当前命令见 SOW 文档,各版本变化见发布说明。

    设计归档解释 SOW 在仓库布局、状态模型和发布流程上的选择。 文章日期记录决策成文时间,修改日期记录后续修订。 了解当前设计,可以从以下文章开始: 系统模型:软件包、发行版、构建快照与发布目标。 一棵包体树:为什么多个视图共用包池。 发布与恢复:上传顺序、检查点与清理。 设计原则:状态归属与写入协调。 历史系列介绍 v0.1 产品计划、设计决策与测试,以及 v0.2 重构和后续版本,并链接到对应源码快照。 当前命令见 SOW 文档,各版本变化见发布说明。