軟體交付

從共享原始碼到受控部署。

Microwave Pie 的軟體交付能力旨在簡化自托管應用程式的實施:基於共享原始碼管理髮布,為部署建立合適的軟體套件,套用授權,並讓安裝與更新始終關聯到明確的發布版本。

共享交付模型

1共享應用程式原始碼統一的原始碼歷史和發布身分。
2平台發布面向預定部署目標建置。
原始碼軟體套件 編譯軟體套件
3授權軟體套件為特定實施發布軟體套件。
4安裝和更新讓部署歷史始終與已交付的發布版本保持關聯。

能力

保持發布選擇的靈活性,同時不失去控制。

不同環境並不總是需要相同的軟體套件格式,也不一定需要同時使用相同的發布版本。Microwave Pie 將共享應用程式原始碼、可復用發布、軟體套件、授權和已安裝執行個體分開管理,讓每個方面都能有計畫地推進。

共享原始碼

從統一的 Git 原始碼開始,並保留與發布關聯的精確提交和易讀版本號。不同部署類型可以獨立推進,同時繼續關聯到同一份原始碼歷史。

原始碼軟體套件

當透明性、直接執行時部署或平台特定的 Python 安裝更合適時,以原始碼形式交付應用程式。原始碼軟體套件與編譯軟體套件使用相同的發布與授權模型。

編譯軟體套件

當希望獲得更自包含的執行環境時,交付編譯後的應用程式軟體套件。編譯只是交付方式的選擇,並不是獨立的產品分支,因此發布來源保持一致。

軟體套件與授權管理

發布軟體套件時即可關聯其授權和目標部署上下文。軟體套件生命週期、授權狀態、下載、安裝、更新、撤銷和關閉可以統一管理,而無需以後再重新拼湊這些資訊。

針對目標的發布選擇

在有需要時,Raspberry Pi、GCP、原始碼和編譯部署可以保持在不同的發布級別。缺失的 Git 提交既可以按部署類型檢查,也可以在整個應用程式範圍內檢查。

通過 UI 管理更新

當已批准的更新可用時,受管理應用程式可以自動提示,而不會強制安裝。管理員可在應用程式 UI 中選擇何時準備和套用更新;重新啟動後,可向共享交付服務確認當前安裝的發布版本,同時保留軟體套件與授權的關係。

實施

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

軟體套件可以攜帶把應用程式發布轉化為可執行部署所需的實施上下文:目標平台、軟體套件格式、安裝行為、發布身分以及授權關係。

這樣,實施流程可以從明確的發布版本開始,而不必要求每個環境單獨重建建置和交付決策。當更高版本合適時,現有的軟體套件與授權關係仍可保持不變,同時有計畫地推進所選發布版本。

不可變的發布歷史

應用程式發布保留實際建置的製品和 Git 身分。

管理員控制的更新

可自動通知更新可用,但下載、準備、套用和重新啟動仍由管理員有意識地執行。

面向部署的授權

軟體套件、授權和已安裝執行個體在安裝、更新、撤銷和關閉過程中始終保持關聯。

Blackcap

目前已有一款應用程式採用此模型。

Blackcap 可通過原始碼或編譯軟體套件部署到受支援的 Raspberry Pi 和 GCP 環境,同時保持發布、軟體套件、授權和更新行為一致。

了解 Blackcap 技術