Softwarebereitstellung

Vom gemeinsamen Quellcode zur kontrollierten Bereitstellung.

Die Softwarebereitstellungsfunktionen von Microwave Pie sollen die Implementierung selbst gehosteter Anwendungen vereinfachen: Releases aus gemeinsamem Quellcode verwalten, das passende Paket für eine Bereitstellung erstellen, Lizenzierung anwenden und Installation sowie Updates an ein bekanntes Release binden.

Gemeinsames Bereitstellungsmodell

1Gemeinsamer AnwendungsquellcodeEine gemeinsame Quellhistorie und Release-Identität.
2Plattform-ReleaseFür das vorgesehene Bereitstellungsziel erstellen.
Quellpaket Kompiliertes Paket
3Lizenziertes PaketDas Paket für eine bestimmte Implementierung ausgeben.
4Installieren und aktualisierenDie Bereitstellungshistorie mit dem ausgelieferten Release verknüpft halten.

Funktionen

Release-Entscheidungen flexibel halten, ohne die Kontrolle zu verlieren.

Unterschiedliche Umgebungen benötigen nicht immer dasselbe Paketformat oder dasselbe Release zur gleichen Zeit. Microwave Pie trennt gemeinsamen Anwendungsquellcode, wiederverwendbare Releases, Pakete, Lizenzen und installierte Instanzen, damit jeder Bereich bewusst weiterentwickelt werden kann.

Gemeinsamer Quellcode

Von einer gemeinsamen Git-Quelle ausgehen und den exakten Commit sowie die benutzerfreundliche Version eines Releases bewahren. Verschiedene Bereitstellungstypen können unabhängig fortschreiten und bleiben dennoch mit derselben Quellhistorie verknüpft.

Quellpakete

Die Anwendung als Quellcode ausliefern, wenn Transparenz, direkte Laufzeitbereitstellung oder eine plattformspezifische Python-Installation besser geeignet sind. Quellpakete verwenden dasselbe Release- und Lizenzmodell wie kompilierte Pakete.

Kompilierte Pakete

Ein kompiliertes Anwendungspaket ausliefern, wenn eine stärker in sich geschlossene Laufzeit bevorzugt wird. Kompilierung ist eine Auslieferungsentscheidung, keine separate Produktlinie, sodass die Release-Herkunft konsistent bleibt.

Paket- und Lizenzverwaltung

Ein Paket ausgeben, dem Lizenz und Zielkontext der Bereitstellung bereits zugeordnet sind. Paketlebenszyklus, Lizenzstatus, Downloads, Installationen, Updates, Widerruf und Abschluss lassen sich gemeinsam verwalten, statt später rekonstruiert zu werden.

Zielspezifische Release-Auswahl

Raspberry Pi-, GCP-, Quellcode- und kompilierte Bereitstellungstypen können bei Bedarf auf unterschiedlichen Release-Ständen bleiben. Fehlende Git-Commits können sowohl nach Bereitstellungstyp als auch anwendungsweit geprüft werden.

Über die Benutzeroberfläche verwaltete Updates

Verwaltete Anwendungen können automatisch anzeigen, wenn ein genehmigtes Update verfügbar ist, ohne es zu erzwingen. Ein Administrator entscheidet in der Anwendungsoberfläche, wann das Update vorbereitet und angewendet wird; nach dem Neustart kann das installierte Release an den gemeinsamen Bereitstellungsdienst zurückgemeldet werden, während die Beziehung zwischen Paket und Lizenz erhalten bleibt.

Implementierung

Paketieren Sie die Bereitstellung, nicht die Unsicherheit.

Ein Softwarepaket kann den Implementierungskontext enthalten, der nötig ist, um ein Anwendungsrelease in eine funktionierende Bereitstellung zu verwandeln: Zielplattform, Paketformat, Installationsverhalten, Release-Identität und Lizenzbeziehung.

Dadurch kann der Implementierungsprozess mit einem bekannten Release beginnen, statt jede Umgebung die Build- und Bereitstellungsentscheidungen unabhängig neu treffen zu lassen. Wenn ein neueres Release passend ist, kann die bestehende Beziehung zwischen Paket und Lizenz erhalten bleiben, während das ausgewählte Release bewusst weiterentwickelt wird.

Unveränderliche Release-Historie

Anwendungsreleases bewahren das Artefakt und die Git-Identität, die tatsächlich erstellt wurden.

Vom Administrator gesteuerte Updates

Die Verfügbarkeit kann automatisch angekündigt werden, aber Herunterladen, Vorbereiten, Anwenden und Neustarten bleiben bewusste Administratoraktionen.

Bereitstellungsbezogene Lizenzierung

Pakete, Lizenzen und installierte Instanzen bleiben über Installation, Update, Widerruf und Abschluss hinweg miteinander verbunden.

Blackcap

Eine Anwendung nutzt dieses Modell bereits heute.

Blackcap kann in unterstützten Raspberry Pi- und GCP-Umgebungen mit Quell- oder kompilierten Paketen bereitgestellt werden, während Release-, Paket-, Lizenz- und Updateverhalten aufeinander abgestimmt bleiben.

Blackcap-Technologie ansehen