CLI-Tool für die Verteilung von macOS-Apps mit .dmg, .pkg und codesign
(github.com/ironpark)ZAPP
MacOS-Anwendungen einfach verteilen.
Warum ich es erstellt habe
In meinem Fall gibt es Situationen, in denen ich macOS-Apps außerhalb des Apple Store baue und verteile.
Dabei durchlaufe ich den Prozess Binärabhängigkeiten integrieren -> Code-Signierung und Notarisierung des App-Bundles -> DMG-Datei erstellen -> Signierungs- und Notarisierungsprozess.
Um das in CI/CD zu integrieren, installiert man verschiedene Tools und schreibt Skripte. Da der Deployment-Prozess viel Zeit kostet und die sich bei jedem neuen Projekt wiederholenden Einstellungen zu umständlich waren, habe ich dieses Tool gebaut. Inzwischen hat es meinen persönlichen Mindeststandard überschritten, daher stelle ich es hier vor :)
Was ist der Unterschied?
- Einfache Installation: Ohne weitere Binär- oder Runtime-Abhängigkeiten lässt es sich als einzelnes Binary schnell über Homebrew installieren und dadurch leicht in CI-Prozesse integrieren.
- Viele Funktionen in einem Tool: DMG-Dateien erzeugen,
pkg-Dateien erzeugen, Signierung und Notarisierung sowie weitere für die Verteilung nötige Funktionen sind in einem einzigen Tool gebündelt.
Hauptfunktionen
- Erzeugung einer Drag-and-Drop-Installations-DMG-Datei mit einem einzigen Befehl
- Erzeugung einer
pkg-Installationsdatei - Signierung, Notarisierung und Staple-Funktion
- Dependency Bundling: Sucht gemeinsam genutzte Bibliotheken, die von der ausführbaren Datei verwendet werden, kopiert sie in das App-Bundle und passt die Link-Pfade an, sodass die App ohne separate Installation zusätzlicher Bibliotheken genutzt werden kann
Ausführlichere Details stehen im README.
Wenn euch etwas inhaltlich unzureichend erscheint, sagt bitte Bescheid!
Darüber hinaus sind Beiträge aller Art willkommen, etwa Dokumentationskorrekturen, Code-Refactoring, Funktionsvorschläge und Bugfixes!
Noch keine Kommentare.