软件交付

从共享源码到受控部署。

Microwave Pie 的软件交付能力旨在简化自托管应用的实施:基于共享源码管理发布,为部署创建合适的软件包,应用许可证,并让安装与更新始终关联到明确的发布版本。

共享交付模型

1共享应用源码统一的源码历史和发布身份。
2平台发布面向预定部署目标构建。
源码软件包 编译软件包
3许可软件包为特定实施发布软件包。
4安装和更新让部署历史始终与已交付的发布版本保持关联。

能力

保持发布选择的灵活性,同时不失去控制。

不同环境并不总是需要相同的软件包格式,也不一定需要同时使用相同的发布版本。Microwave Pie 将共享应用源码、可复用发布、软件包、许可证和已安装实例分开管理,让每个方面都能有计划地推进。

共享源码

从统一的 Git 源码开始,并保留与发布关联的精确提交和易读版本号。不同部署类型可以独立推进,同时继续关联到同一份源码历史。

源码软件包

当透明性、直接运行时部署或平台特定的 Python 安装更合适时,以源码形式交付应用。源码软件包与编译软件包使用相同的发布和许可模型。

编译软件包

当希望获得更自包含的运行环境时,交付编译后的应用软件包。编译只是交付方式的选择,并不是独立的产品分支,因此发布来源保持一致。

软件包与许可证管理

发布软件包时即可关联其许可证和目标部署上下文。软件包生命周期、许可证状态、下载、安装、更新、撤销和关闭可以统一管理,而无需以后再重新拼凑这些信息。

针对目标的发布选择

在有需要时,Raspberry Pi、GCP、源码和编译部署可以保持在不同的发布级别。缺失的 Git 提交既可以按部署类型检查,也可以在整个应用范围内检查。

通过 UI 管理更新

当已批准的更新可用时,受管理应用可以自动提示,而不会强制安装。管理员可在应用 UI 中选择何时准备和应用更新;重启后,可向共享交付服务确认当前安装的发布版本,同时保留软件包与许可证的关系。

实施

打包的是部署,而不是不确定性。

软件包可以携带把应用发布转化为可运行部署所需的实施上下文:目标平台、软件包格式、安装行为、发布身份以及许可关系。

这样,实施流程可以从明确的发布版本开始,而不必要求每个环境单独重建构建和交付决策。当更高版本合适时,现有的软件包与许可证关系仍可保持不变,同时有计划地推进所选发布版本。

不可变的发布历史

应用发布保留实际构建的制品和 Git 身份。

管理员控制的更新

可自动通知更新可用,但下载、准备、应用和重启仍由管理员有意识地执行。

面向部署的许可

软件包、许可证和已安装实例在安装、更新、撤销和关闭过程中始终保持关联。

Blackcap

目前已有一款应用采用此模型。

Blackcap 可通过源码或编译软件包部署到受支持的 Raspberry Pi 和 GCP 环境,同时保持发布、软件包、许可证和更新行为一致。

了解 Blackcap 技术