Ratgeber

Self-hosted macOS Runner für GitHub Actions

Ein self-hosted macOS Runner ist ein Mac unter Ihrer Kontrolle. Er führt Ihre GitHub-Actions-Jobs aus, statt der geteilten Cloud-Maschinen von GitHub. Sie registrieren den Runner einmal und verweisen Ihren Workflow darauf. Danach laufen Ihre Builds auf Hardware, die zwischen den Jobs warm bleibt.

Warum Teams gehostete macOS-Runner verlassen

GitHub berechnet für macOS-Runner etwa $0.062 bis $0.102 pro Minute. Das ist ungefähr das Zehnfache des Linux-Preises. Für gelegentliche Builds ist das in Ordnung. Für ein Team, das täglich ausliefert, wird es teuer. Drei Dinge ändern sich, wenn die Maschine Ihnen gehört:

  • Die Kosten wachsen nicht mehr mit der Nutzung. Eine Maschine zum Monatspreis kostet gleich viel, ob Sie 1.000 oder 20.000 Minuten nutzen.
  • Caches bleiben erhalten. DerivedData, CocoaPods, SwiftPM und npm-Caches bleiben auf der lokalen SSD. Inkrementelle Builds überspringen so den Großteil der Arbeit, die ein frischer Runner wiederholt.
  • Die Umgebung bleibt stabil. Sie legen Xcode einmal fest. Sie müssen sich nicht nach dem Zeitplan anderer an neue gehostete Images anpassen.

Die Nachteile, offen gesagt

Self-Hosting hat auch Nachteile. Jobs laufen auf einer Maschine nacheinander, große parallele Matrizen brauchen also mehr Geräte. Wenn Sie nicht vertrauenswürdige Pull Requests bauen, sind Sie für die Sicherheit des Runners verantwortlich. Deshalb empfiehlt GitHub self-hosted Runner für private Repositories. Und jemand muss sich um macOS-Updates und Xcode-Installationen kümmern und dafür sorgen, dass der Runner-Dienst läuft.

MacRun nimmt Ihnen genau diesen letzten Teil ab. Sie bekommen die dedizierte Maschine und den Festpreis. Wir übernehmen Bereitstellung, Überwachung und Löschung.

So sieht die Änderung im Workflow aus

Den Runner registrieren Sie mit einem einmaligen Befehl. Danach ändern sich in der Pipeline zwei Zeilen:

 jobs:
   build:
-    runs-on: macos-latest
+    runs-on: [self-hosted, macOS, macrun-unit-01]

Alles andere bleibt gleich, auch Ihre bestehenden Steps, Secrets und Artefakte. Die vollständige Anleitung steht im Setup-Leitfaden.

Selbst bauen oder mieten

Haben Sie schon freie Apple-Hardware und jemanden, der sie pflegt? Dann ist Self-Hosting auf Ihrem eigenen Mac eine vernünftige Option. Wollen Sie lieber keine Hardware kaufen, aufstellen und den Runner-Dienst hüten? Dann bietet eine gemietete, dedizierte Maschine dieselbe Wirtschaftlichkeit ohne den Betriebsaufwand. Rechnen Sie Ihre eigenen Zahlen mit dem Kostenrechner durch.

Häufige Fragen

Was ist ein self-hosted macOS Runner?

+

Ein Mac unter Ihrer Kontrolle, der Ihre GitHub-Actions-Jobs ausführt, statt der geteilten gehosteten Maschinen von GitHub. Sie installieren den Actions-Runner-Agent, registrieren ihn bei Ihrem Repository oder Ihrer Organisation und sprechen ihn im Workflow über ein runs-on-Label an.

Ist ein self-hosted macOS Runner günstiger als ein gehosteter von GitHub?

+

Das hängt vom Volumen ab. Gehostetes macOS bei GitHub kostet etwa $0.062 bis $0.102 pro Minute. Ein dedizierter Runner für $139 pro Monat rechnet sich beim niedrigen Tarif ab etwa 2,242 Minuten im Monat. Alles darüber ist kostenlos.

Sind self-hosted Runner für öffentliche Repositories sicher?

+

GitHub empfiehlt self-hosted Runner für private Repositories. Sonst kann der Pull Request eines Forks nicht vertrauenswürdigen Code auf Ihrer Maschine ausführen. Wenn Sie sie bei öffentlichen Repos nutzen müssen, verlangen Sie eine Freigabe für Fork-Workflows. Und trennen Sie den Runner von allem, was Ihnen wichtig ist.

Muss der Runner-Dienst dauerhaft laufen?

+

Ja, der Runner muss online sein, um Jobs anzunehmen. Bei MacRun überwacht ein Daemon den Dienst. Stürzt er ab, startet der Daemon ihn innerhalb von etwa 30 Sekunden neu. Sie müssen ihn also nicht selbst überwachen.

Passende Ratgeber