Merge auf main. Schon live.
Deploydz betreibt deine selbstgehosteten GitHub-Actions-Runner aus der Menüleiste des Mac. Merge auf main, und der Deploy läuft auf deinem eigenen Mac, für null Actions-Minuten, und die Wolke neben deiner Uhr zeigt, wie es gelaufen ist.
Merge
GitHub Actions übernimmt die Planung. Dein Mac übernimmt die Arbeit, mit seinen eigenen Tools und Schlüsseln.
- Du mergst auf main. GitHub stellt den Deploy-Workflow des Repositorys in die Warteschlange.
- Dein Mac übernimmt. Der Workflow läuft auf
[self-hosted, deploy], einem Runner, den Deploydz am Laufen hält, und lädt die Website hoch. - Die Menüleiste zeigt es. Deploydz liest alle 2 Sekunden Status und Protokoll jedes Deploys, und eine Mitteilung meldet, wenn er live ist.
on:
push:
branches: [main]
jobs:
deploy:
runs-on: [self-hosted, deploy]
steps:
- uses: actions/checkout@v4
# feeds the menu bar
- run: |
~/www/actions-runner/deploy.sh \
mysite ./deploy.sh
Dein Mac
Er ist jetzt der Build-Server, und Deploydz hält ihn am Laufen.
- Eine App für alle Runner
- Deploydz startet deine Runner, wenn du dich anmeldest, startet einen gestoppten neu und stoppt alle, wenn es beendet wird. Kein LaunchAgent pro Runner.
- Jeder Deploy auf einen Blick
- Jede Website zeigt, wie ihr letzter Deploy lief: wann er live ging, wie lange er schon wartet oder die Zeile, an der er gescheitert ist. Ihr Untermenü öffnet die Ausführung auf GitHub oder das Protokoll des Deploys.
- Auch App-Releases
- Apps, die auf deinem Mac gebaut werden, zeigen ihre Version und ihr neuestes Release: den aktuellen Schritt, „Veröffentlicht vor 2 Std.“ oder den Schritt, der fehlgeschlagen ist.
- Runner mit einem Klick
- Wähle ein Repository und ob es eine Website oder eine App ist. Deploydz lädt den Runner, registriert ihn mit
ghund startet ihn. - Sicher mit öffentlichen Repositorys
- Fügst du einem öffentlichen Repository einen Runner hinzu, warten Pull Requests aus Forks auf deine Freigabe, damit der Fork eines Fremden nicht auf deinem Mac laufen kann.
- Keine Actions-Minuten
- Selbstgehostete Läufe sind kostenlos, ebenso Releases und ihre Downloads. Nichts läuft auf den Rechnern von GitHub, also wird nichts berechnet.
Einrichtung
- Lade das DMG und zieh Deploydz in den Ordner „Programme“. Es ist signiert und von Apple beglaubigt.
- Öffne es. Beim ersten Start wird „Beim Anmelden starten“ eingeschaltet, und die Wolke erscheint neben deiner Uhr.
- Füge einen Runner hinzu. In den Einstellungen wählst du mit + eines deiner Repositorys und ob es eine Website oder eine App ist.
- Richte den Workflow darauf aus. Die
deploy.ymleiner Website läuft auf[self-hosted, deploy], der Mac-Job derrelease.ymleiner App auf[self-hosted, macOS, release].
Was du brauchst
- macOS 15 oder neuer, Apple Silicon oder Intel
- Die GitHub CLI,
gh, angemeldet - Deine Repositorys auf GitHub
- Ein Mac, der an ist, wenn du mergst
Hilfe
Kostet es GitHub-Actions-Minuten?
Nein. Selbstgehostete Läufe sind kostenlos. Setze dein Actions-Budget in den Abrechnungseinstellungen von GitHub auf 0 $, damit ein Job, der doch einmal auf den Rechnern von GitHub landet, fehlschlägt, statt Kosten zu verursachen.
Kann ein Pull Request aus einem Fork Code auf meinem Mac ausführen?
Nicht ohne dich. Wenn du einem öffentlichen Repository einen Runner hinzufügst, lässt Deploydz Pull Requests aus Forks auf deine Freigabe warten.
Im Menü gibt es keine Apps.
Deploydz fragt GitHub mit gh nach Releases, prüfe also mit gh auth status, ob es angemeldet ist.
Ein Runner zeigt ○ unter „Runner“.
Er ist gestoppt, und Deploydz startet ihn innerhalb von 10 Sekunden neu. Stoppt er immer wieder, lies _diag/deploydz.log im Ordner dieses Runners.
Was passiert mit den Runnern, wenn ich Deploydz beende?
Sie stoppen mit Deploydz und starten wieder, wenn es geöffnet wird. Runner stoppen im Menü pausiert alle, ohne die App zu beenden.
Wie aktualisiert es sich?
Nach Updates suchen… lädt die neue Version und installiert sie nur, wenn sie vom selben Entwickler signiert ist. Es wartet, solange ein Deploy oder Release läuft, weil ein Neustart von Deploydz die Runner stoppt.
Kann ein Workflow Deploydz installieren oder aktualisieren?
Nein. Ein Neustart von Deploydz stoppt jeden Runner, auch den, auf dem der Workflow läuft. Installiere es von Hand oder nutze Nach Updates suchen….
Live
Lade Deploydz, füge einen Runner hinzu, und dein nächster Merge deployt sich selbst.