ソフトウェア配布

共通ソースから管理された導入へ。

Microwave Pie のソフトウェア配布機能は、セルフホスト型アプリの導入を簡単にするために設計されています。共通ソースからリリースを管理し、導入先に適したパッケージを作成し、ライセンスを適用し、インストールと更新を既知のリリースに結び付けます。

共通の配布モデル

1共通のアプリケーションソース1つのソース履歴とリリース識別子。
2プラットフォームリリース対象となる導入先向けにビルドします。
ソースパッケージ コンパイル済みパッケージ
3ライセンス付きパッケージ特定の導入向けにパッケージを発行します。
4インストールと更新導入履歴を、配布されたリリースに結び付けて維持します。

機能

管理を失わずに、リリース選択の柔軟性を保ちます。

環境ごとに、同じパッケージ形式や同じリリースを同時に必要とするとは限りません。Microwave Pie は、共通のアプリケーションソース、再利用可能なリリース、パッケージ、ライセンス、インストール済みインスタンスを分離し、それぞれを意図的に進められるようにします。

共通ソース

共通の Git ソースから始め、リリースに関連付けられた正確なコミットと分かりやすいバージョンを保持します。異なる導入タイプは同じソース履歴に結び付いたまま、独立して進められます。

ソースパッケージ

透明性、実行環境への直接導入、またはプラットフォーム固有の Python インストールが適している場合は、アプリケーションをソースとして配布します。ソースパッケージでも、コンパイル済みパッケージと同じリリースおよびライセンスモデルを維持します。

コンパイル済みパッケージ

より自己完結した実行環境が望ましい場合は、コンパイル済みアプリケーションパッケージを配布します。コンパイルは配布方法の選択であり、別の製品系統ではないため、リリースの由来は一貫します。

パッケージとライセンスの管理

ライセンスと対象導入コンテキストをあらかじめ関連付けたパッケージを発行します。パッケージのライフサイクル、ライセンス状態、ダウンロード、インストール、更新、失効、終了を、後から再構成するのではなく一体として管理できます。

対象別のリリース選択

必要に応じて、Raspberry Pi、GCP、ソース、コンパイル済みの各導入タイプを異なるリリースレベルに保てます。欠けている Git コミットは、導入タイプ別にもアプリケーション全体でも確認できます。

UI で管理する更新

管理対象アプリは、承認済みアップデートが利用可能になったとき、自動的に通知しつつ強制はしません。管理者がアプリ UI で準備と適用のタイミングを選びます。再起動後、パッケージとライセンスの関係を維持したまま、インストール済みリリースを共通配布サービスへ確認できます。

導入

不確実性ではなく、導入そのものをパッケージ化します。

ソフトウェアパッケージには、アプリケーションリリースを実際に動作する導入環境へ変えるために必要なコンテキストを含められます。対象プラットフォーム、パッケージ形式、インストール動作、リリース識別子、ライセンス関係などです。

これにより、各環境がビルドや配布の判断を個別に作り直すのではなく、既知のリリースから導入を開始できます。新しいリリースが適切になった場合でも、既存のパッケージとライセンスの関係を維持したまま、選択したリリースだけを意図的に進められます。

変更されないリリース履歴

アプリケーションリリースは、実際にビルドされた成果物と Git 識別子を保持します。

管理者が制御する更新

利用可能になったことは自動通知できますが、ダウンロード、準備、適用、再起動は管理者が意図的に行う操作です。

導入を考慮したライセンス

パッケージ、ライセンス、インストール済みインスタンスは、インストール、更新、失効、終了を通じて関連付けられたままです。

Blackcap

現在、このモデルを使用しているアプリケーションは1つです。

Blackcap は、対応する Raspberry Pi および GCP 環境へ、ソースまたはコンパイル済みパッケージとして導入でき、リリース、パッケージ、ライセンス、更新の動作を揃えて維持できます。

Blackcap の技術を見る