MangoVM Engineering-Leitfaden

Wie wählen Sie einen GitHub Actions macOS Runner? Hosted oder selbst gehostet (2026)

Wie wählen Sie einen GitHub Actions macOS Runner? Hosted oder selbst gehostet (2026)

Der Schnellentscheid für diese Woche

GitHub dokumentiert für einen einzelnen Job ein maximales Ausführungslimit von sechs Stunden. Das ist eine Grenze, keine Aussage darüber, wie schnell ein bestimmter Runner baut. Für Ihre Auswahl gilt: Wenn Sie selten bauen und wenig Infrastruktur betreuen möchten, beginnen Sie mit einem gehosteten Runner. Wenn Sie eine angepasste Umgebung regelmäßig wiederverwenden oder die Ausführung gezielter kontrollieren müssen, prüfen Sie einen selbst gehosteten Mac Runner – und rechnen Sie die Wartung mit ein. GitHub beschreibt die Ausführungsgrenzen in der Übersicht zu Actions-Limits.

Diese Woche: Erfassen Sie für Ihre wichtigsten Workflows, wie oft sie laufen, ob sie parallel laufen müssen und welche Werkzeuge sie benötigen. Verändern Sie zunächst nur einen nicht veröffentlichenden Build. So vergleichen Sie die Runner-Modelle mit Ihren eigenen Abläufen, statt pauschale Wartezeit- oder Leistungsaussagen zu übernehmen.

Dieser Leitfaden ist für Sie gedacht, wenn Sie iOS-Builds gelegentlich ausführen und möglichst wenig Runner-Infrastruktur betreuen wollen.
Er passt auch, wenn Sie eine feste macOS-Toolchain brauchen oder Ihren Build-Prozess zu einer dauerhaften Release-Automatisierung ausbauen.
Wenn Sie nur einen allgemeinen GitHub-Actions-Einstieg suchen, liegt der Schwerpunkt hier enger: auf der Wahl und Verwaltung des macOS Runners.

Prüfen Sie zuerst Last und Parallelität

Zählen Sie nicht nur, wie oft Sie auf „Build“ drücken. Betrachten Sie die tatsächlichen Auslöser in Ihrem Workflow: Pushes, Pull Requests, geplante Läufe, manuelle Builds und Veröffentlichungen. Ein kleines Projekt mit seltenen Änderungen kann mit einer standardisierten, gehosteten Umgebung gut zurechtkommen. Ein Projekt mit häufigen Builds oder mehreren gleichzeitig aktiven Branches muss zusätzlich prüfen, ob verfügbare Runner und Warteschlangen zu den Arbeitsabläufen passen.

GitHub unterscheidet Runner-Typen und deren Auswahl über Labels. Welche Typen und Eigenschaften derzeit verfügbar sind, entnehmen Sie der offiziellen Referenz zu GitHub-hosted Runnern. Verlassen Sie sich nicht auf eine allgemeine Behauptung wie „gehostet ist schneller“ oder „selbst gehostet hat keine Wartezeit“. Die tatsächliche Auslastung, die Verfügbarkeit und Ihr Build-Inhalt beeinflussen das Ergebnis; eine universelle Wartezeit lässt sich daraus nicht ableiten.

Erheben Sie für Ihre Entscheidung diese Arbeitsdaten:

Das ist besonders wichtig, wenn Sie Kosten vergleichen. Verwenden Sie reale Build-Minuten, notwendige Parallelität und gegebenenfalls die tatsächlich benötigte Runner-Klasse. Stellen Sie dem bei einem selbst verwalteten Mac die Miete oder Anschaffung, Einrichtung, Pflege und die Zeit für Betriebsaufgaben gegenüber. Ohne geprüfte Tarife und Ihre gemessene Auslastung ist ein pauschaler Eurobetrag nicht belastbar.

Ein typischer Fall: ein Solo-Projekt wächst

Sie entwickeln allein und bauen zunächst nur bei Bedarf. Ein gehosteter Runner hält den Betrieb überschaubar: Sie müssen keine eigene Maschine für gelegentliche Läufe erreichbar halten. Später kommen regelmäßige Pull-Request-Prüfungen und nächtliche Builds hinzu. Nun lohnt es sich, die Auslastung und die benötigte Umgebung neu zu bewerten. Das Wachstum allein ist noch kein Grund zum Wechsel. Entscheidend ist, ob die zusätzliche Kontrolle den Aufwand für Betrieb und Sicherheit tatsächlich rechtfertigt.

Vergleichen Sie die Betriebsgrenzen der beiden Modelle

„Selbst gehostet“ bedeutet nicht zwingend, dass ein Mac neben Ihrem Schreibtisch stehen muss. Der Runner kann auf einer von Ihnen verwalteten Maschine laufen, die lokal oder in einer entfernten Umgebung bereitgestellt wird. Sie entscheiden damit über mehr Aspekte der Maschine, übernehmen aber auch mehr Aufgaben. GitHub beschreibt die Verantwortlichkeiten und Anforderungen in der Dokumentation zu selbst gehosteten Runnern.

Bewertungsachse Gehosteter Runner Selbst gehosteter Mac Runner
Bereitstellung Die Ausführungsumgebung wird vom Plattformanbieter bereitgestellt. Verfügbare Images und Eigenschaften müssen in der aktuellen Runner-Referenz geprüft werden. Sie wählen und verwalten die Maschine und richten den Runner für Ihren Workflow ein.
Umgebung Gut geeignet, wenn die angebotenen macOS- und Werkzeugumgebungen ausreichen. Prüfen Sie die aktuellen Labels und Images vor einer Umstellung. Geeignet, wenn Sie eine Umgebung stärker an Ihre Anforderungen anpassen oder regelmäßig wiederverwenden müssen.
Wartung Weniger Verantwortung für den Betrieb der Runner-Maschine selbst. Workflow-Dateien, Abhängigkeiten und Geheimnisse bleiben trotzdem Ihre Aufgabe. Sie kümmern sich zusätzlich um macOS, installierte Software, Verfügbarkeit, Speicherplatz, Updates und die Fehlerbehebung.
Wiederverwendung Die verfügbare Umgebung richtet sich nach den angebotenen Runner-Images und deren Verhalten. Sie können Installationen und lokale Ressourcen gezielter planen; persistente Zustände brauchen jedoch kontrollierte Bereinigung.
Kontrolle und Zugriff Die Grenzen richten sich nach Plattform, Runner-Konfiguration und Workflow-Berechtigungen. Sie kontrollieren Maschine und Zugang stärker, müssen aber die Reichweite des Runners und die Isolation der Jobs selbst beurteilen.

Ein selbst gehosteter Runner ist also nicht automatisch die günstigere oder sicherere Wahl. Er kann bei wiederkehrenden, speziell angepassten Builds sinnvoll sein. Gleichzeitig wird der Runner zu einem Teil Ihrer Betriebsumgebung. Wenn er offline ist, Software aktualisiert werden muss oder sich temporäre Dateien ansammeln, braucht es einen klaren Verantwortlichen und einen Ablauf zur Wiederherstellung. GitHub empfiehlt, selbst gehostete Runner zu überwachen und Probleme systematisch zu untersuchen; nutzen Sie dafür die offizielle Anleitung zur Überwachung und Fehlerbehebung.

Bewerten Sie Toolchain und Umgebungskontrolle

Bei iOS- und macOS-Projekten genügt es nicht, dass ein Job „auf macOS“ läuft. Ihr Workflow kann von einer bestimmten Xcode-Version, zusätzlichen Werkzeugen, installierten Abhängigkeiten, Zertifikaten oder speziellen Build-Schritten abhängen. Legen Sie deshalb zuerst fest, welche Bestandteile zwingend vorhanden sein müssen und welche sich im Workflow reproduzierbar installieren lassen.

Ein gehosteter Runner ist naheliegend, wenn ein angebotenes Image Ihre Anforderungen abdeckt. Die konkreten Image-Inhalte und Labels können sich ändern. Prüfen Sie daher vor der Migration die aktuelle Runner-Referenz samt verfügbaren Umgebungen und gleichen Sie sie mit den Anforderungen Ihres Projekts ab. Pinning und Versionsprüfungen in Ihrem Build-Prozess helfen, unbeabsichtigte Änderungen zu erkennen. Sie ersetzen aber nicht die Prüfung der tatsächlichen Runner-Umgebung.

Ein selbst gehosteter Runner kommt eher infrage, wenn Sie eine bestimmte Werkzeugkombination dauerhaft benötigen, Installationsschritte häufig wiederholen oder den Build gezielt an eine verwaltete Maschine binden möchten. Das kann die Umgebung konsistenter machen. Es verschiebt die Verantwortung jedoch nicht weg: Sie müssen festlegen, wer Xcode und weitere Komponenten aktualisiert, wie Änderungen geprüft werden und wann ein Build auf eine neue Umgebung umgestellt wird.

Auch hier gilt: Unterscheiden Sie echte Anforderungen von Gewohnheiten. Wenn sich ein Werkzeug zuverlässig während des Jobs installieren lässt, ist eine dauerhaft angepasste Maschine möglicherweise unnötig. Wenn ein lokaler Zustand gebraucht wird, dokumentieren Sie ihn. Nicht dokumentierte Handarbeit führt dazu, dass ein Build nur auf einer Maschine funktioniert und sich Fehler schwer nachvollziehen lassen.

Frage zur Umgebung Wenn die Antwort „Ja“ lautet Wenn die Antwort „Nein“ lautet
Reicht ein geprüftes, von GitHub bereitgestelltes macOS-Image aus? Testen Sie zunächst den gehosteten Runner. Erfassen Sie genau, welche Abweichung erforderlich ist, bevor Sie einen eigenen Runner einrichten.
Muss dieselbe angepasste Toolchain regelmäßig wiederverwendet werden? Bewerten Sie einen selbst gehosteten Mac samt Pflegeplan. Halten Sie den Build möglichst reproduzierbar und vermeiden Sie unnötige Dauerinstallation.
Können Sie Änderungen an macOS und Build-Werkzeugen kontrolliert testen? Legen Sie einen Aktualisierungs- und Rollback-Ablauf fest. Übernehmen Sie nicht mehr Umgebungsverantwortung, als Ihr Team zuverlässig tragen kann.
Sind lokale Dateien oder Cache-Zustände für Jobs erforderlich? Definieren Sie Aufbewahrung, Bereinigung und Zugriffsregeln. Bevorzugen Sie einen Workflow, der temporäre Zustände nachvollziehbar erstellt und entfernt.

Für die Auswahl eines Jobs stehen Labels und Workflow-Einstellungen zur Verfügung. Prüfen Sie die Syntax und die aktuelle Auswahlmöglichkeit in der Dokumentation zum Auswählen des Runners für einen Job sowie in der Referenz zur Workflow-Syntax. Richten Sie die Auswahl nach den Anforderungen des Jobs aus, statt sämtliche Workflows vorschnell auf dasselbe Runner-Modell festzulegen.

Kalkulieren Sie Wartung und Gesamtkosten

Bei einem gehosteten Runner bedeutet „weniger Wartung“ nicht „keine Wartung“. Sie müssen weiterhin Workflow-Dateien, Build-Abhängigkeiten und Zugangsdaten pflegen. Der Unterschied liegt darin, dass die Maschine und die Ausführungsumgebung nicht in derselben Weise zu Ihrem eigenen Betriebsbestand gehören wie bei einem selbst verwalteten Mac.

Bei einem selbst gehosteten Runner kommen laufende Aufgaben hinzu. Dazu zählen die Erreichbarkeit des Rechners, der Zustand des Runner-Prozesses, Betriebssystem- und Werkzeugupdates, Speicherplatz, temporäre Dateien sowie die Wiederaufnahme nach einem fehlgeschlagenen Job. GitHub dokumentiert Hinweise zur Verwaltung selbst gehosteter Runner und Runner-Gruppen; prüfen Sie die Informationen zum Verwalten des Zugriffs auf Runner-Gruppen, bevor Sie festlegen, welche Repositories Jobs auf einer Maschine ausführen dürfen.

Erstellen Sie für einen fairen Vergleich eine eigene Rechnung, statt eine vermeintliche Standardersparnis anzunehmen:

  1. Erfassen Sie für Ihre Workflows die tatsächliche Nutzung und die erforderliche Parallelität.
  2. Ermitteln Sie die Kosten des gehosteten Modells anhand der zum Zeitpunkt der Entscheidung gültigen Bedingungen und Ihrer Nutzung.
  3. Listen Sie beim selbst gehosteten Modell Maschine oder Miete, Einrichtung und laufende Verwaltung getrennt auf.
  4. Bewerten Sie die Arbeitszeit für Updates, Prüfung, Speicherbereinigung und Wiederherstellung.
  5. Berücksichtigen Sie das Risiko, dass ein nicht verfügbarer Runner einen Release- oder Prüfprozess aufhält.

Wenn Sie die Betriebszeit nicht selbst überwachen oder Störungen nicht kurzfristig bearbeiten können, ist das keine Nebensache. Ein Runner, der theoretisch dauerhaft verfügbar sein soll, ist nicht automatisch störungsfrei. Er braucht Zuständigkeiten und einen Plan dafür, wie Jobs bei Ausfall behandelt werden.

Begrenzen Sie Schlüssel, Repository-Zugriff und Job-Risiken

Ein iOS-Build kann Signaturmaterial und weitere Geheimnisse verwenden. Entscheidend ist nicht allein, wo der Runner steht, sondern welche Workflows auf ihn zugreifen können, welche Berechtigungen diese Workflows erhalten und ob ein Job fremde Änderungen ausführt. Bewerten Sie Runner-Zugriff, Netzwerkzugang, Dateien und Geheimnisse gemeinsam.

Bei selbst gehosteten Runnern verdient die Isolation besondere Aufmerksamkeit. Wenn ein Runner persistente Dateien zwischen Jobs behält, müssen Sie festlegen, welche Daten bereinigt werden und wer sie lesen kann. Verwenden Sie getrennte Runner oder Runner-Gruppen, wenn unterschiedliche Repositories, Vertrauensstufen oder Aufgaben getrennt werden müssen. Die konkreten Möglichkeiten hängen von Ihrer Konfiguration ab. Prüfen Sie die offiziellen Hinweise zu Runner-Gruppen und Zugriffsverwaltung, bevor Sie Berechtigungen vergeben.

Geben Sie Geheimnisse nur den Jobs und Ereignissen frei, die sie für ihre Aufgabe benötigen. Trennen Sie Pull-Request-Prüfungen von Signier- und Veröffentlichungsabläufen, statt alle Schritte mit denselben Berechtigungen laufen zu lassen. GitHub weist ausdrücklich auf Risiken bei bestimmten Pull-Request-Workflows hin; die Sicherheitshinweise zu pull_request_target sollten Sie lesen, bevor Sie solche Abläufe mit vertraulichen Informationen kombinieren.

Die Sicherheitsprüfung muss auch bei einem gehosteten Runner stattfinden. „Gehostet“ hebt Ihre Verantwortung für Workflow-Berechtigungen und Geheimnisse nicht auf. Umgekehrt macht Selbstverwaltung eine Umgebung nicht automatisch unsicher. Die relevanten Fragen lauten: Welche Jobs dürfen dort laufen? Welche Daten kann ein Job lesen? Was bleibt nach dem Lauf zurück? Wer darf die Konfiguration ändern? Dokumentieren Sie die Antworten und kontrollieren Sie sie bei Änderungen am Workflow erneut.

Entscheiden Sie anhand dieser Bedingungen

Verwenden Sie die folgenden Abzweigungen für die erste Auswahl. Wenn verschiedene Workflows unterschiedliche Anforderungen haben, treffen Sie die Entscheidung je Workflow und nicht für das gesamte Repository auf einmal.

Machen Sie den Wechsel kontrolliert:

  1. Notieren Sie die Anforderungen Ihres bestehenden Builds: macOS, Xcode, Abhängigkeiten, Geheimnisse und benötigte Dateien.
  2. Wählen Sie einen nicht veröffentlichenden Workflow als Test. Lassen Sie Signierung und Upload zunächst unverändert.
  3. Ordnen Sie den Testjob mit den vorgesehenen Labels einem Runner zu und prüfen Sie die aktuelle Workflow-Syntax.
  4. Vergleichen Sie Build-Ergebnis, Laufzeit, Wiederholungen und erforderliche manuelle Eingriffe mit Ihrem bisherigen Ablauf.
  5. Prüfen Sie auf dem selbst verwalteten Runner Berechtigungen, Isolierung, Bereinigung und Wiederherstellung.
  6. Verschieben Sie Signier- und Veröffentlichungsjobs erst, wenn der Test reproduzierbar ist und der Zugriff auf Geheimnisse überprüft wurde.
  7. Halten Sie einen Rückweg bereit: Wenn neue Runner-Ausfälle oder Pflegeaufwand den Nutzen überwiegen, stellen Sie den betreffenden Workflow zurück.

Für eine eigene Abnahme des iOS-Builds können Sie die MangoVM-Hilfe als Orientierung für Fragen zur Umgebung heranziehen. Wenn Sie Datenschutz und den Umgang mit personenbezogenen Informationen prüfen, lesen Sie außerdem die Datenschutzhinweise. Diese Prüfung ersetzt nicht die technische Kontrolle Ihrer Workflows oder die Prüfung der aktuell verfügbaren Runner-Umgebungen.

Häufige Fragen zur Runner-Auswahl

Die folgenden Antworten ergänzen die Vergleichsachsen um typische Entscheidungen bei persönlichen Projekten, laufender Pflege und einem möglichen Wechsel auf einen entfernten Mac.

Ist ein selbst gehosteter Runner für ein privates iOS-Projekt sinnvoll?

Die Zahl der Beteiligten entscheidet nicht allein. Wenn Sie nur gelegentlich mit einer Standardumgebung bauen, verursacht ein eigener Runner wahrscheinlich mehr Betriebsarbeit als nötig. Wenn Ihr privates Projekt eine wiederkehrende, speziell angepasste Toolchain nutzt und Sie Updates sowie Zugriffskontrollen übernehmen können, kann ein selbst verwalteter Mac sinnvoll sein. Prüfen Sie zuerst einen einzelnen Test-Workflow.

Welche Aufgaben kommen bei einem selbst gehosteten Runner hinzu?

Planen Sie die Pflege von macOS und Build-Werkzeugen, die Erreichbarkeit des Runner-Prozesses und die Überwachung fehlgeschlagener Jobs ein. Dazu kommen Speicherverwaltung, Bereinigung, Zugangskontrolle und eine Regel für Aktualisierungen. Legen Sie fest, wer diese Aufgaben übernimmt und wie ein Build nach einem Ausfall fortgesetzt wird. Ohne Zuständigkeit ist die Maschine keine verlässliche Automatisierung, sondern ein zusätzlicher Betriebsengpass.

Was unterscheidet gehostete und selbst gehostete macOS Runner bei der Umgebung?

Bei gehosteten Runnern wählen Sie aus den aktuell angebotenen Images und Labels; die genaue Ausstattung müssen Sie vor dem Einsatz in der offiziellen Dokumentation prüfen. Bei selbst gehosteten Runnern verwalten Sie die Maschine und können die Umgebung gezielter anpassen. Damit übernehmen Sie zugleich Verantwortung für Reproduzierbarkeit, Updates, Zugriffe und den Zustand nach jedem Job.

Wann ist ein Wechsel auf einen entfernten Mac angebracht?

Ein entfernter Mac kommt infrage, wenn Sie einen selbst verwalteten Runner benötigen, aber keinen Rechner am eigenen Standort betreiben wollen. Prüfen Sie vor dem Wechsel, ob macOS, Werkzeuge, Zugriff und Verfügbarkeit zu Ihrem Workflow passen und wer Wartung sowie Wiederherstellung übernimmt. Testen Sie zunächst einen Build ohne Signierung; übernehmen Sie Veröffentlichungsjobs erst nach einer Sicherheits- und Ablaufprüfung.

Vergleichen Sie die laufende Lösung mit einem Mac

Ein gehosteter Runner ist für gelegentliche, standardisierte Builds häufig die wartungsärmere Wahl. Seine Grenzen zeigen sich, wenn Sie eine dauerhafte Spezialumgebung brauchen, bestimmte lokale Zustände wiederverwenden wollen oder den Ablauf enger kontrollieren möchten. Eine selbst verwaltete Maschine bringt im Gegenzug eigene Aufgaben mit: Pflege, Bereinigung, Berechtigungen und die Reaktion auf Ausfälle. Ein lokaler Mac kann passen, wenn Sie physische Anschlüsse benötigen oder ohnehin einen Rechner dauerhaft betreiben. Für einen zeitlich begrenzten Test oder einen extern erreichbaren Build-Server kann ein entfernter Mac die passende Alternative sein.

Wenn Sie diese Option erwägen, prüfen Sie vorab, ob die auf der MangoVM-Seite für Mac mini in Singapur beschriebenen Bedingungen zu Ihrem benötigten macOS, Ihrer Toolchain und Ihrem Zugriffsszenario passen. Verlassen Sie sich nicht auf ungeprüfte Leistungs- oder Verfügbarkeitsversprechen: Validieren Sie Ihren nicht veröffentlichenden Build zuerst und kalkulieren Sie die Betriebsarbeit mit ein. So entscheiden Sie anhand Ihres tatsächlichen CI/CD-Ablaufs, ob ein selbst gehosteter Runner den zusätzlichen Aufwand rechtfertigt.

Häufig gestellte Fragen

Worin unterscheiden sich gehostete und selbst gehostete macOS Runner bei GitHub Actions?

Bei einem gehosteten Runner stellt GitHub die Ausführungsumgebung bereit und übernimmt deren grundlegende Verwaltung. Bei einem selbst gehosteten Runner legen Sie fest, auf welcher von Ihnen verwalteten Maschine Jobs laufen. Damit gewinnen Sie mehr Kontrolle über Umgebung und Wiederverwendung, tragen aber auch Verantwortung für Betriebssystem, Software, Erreichbarkeit, Bereinigung und Zugriffsgrenzen.

Ist ein selbst gehosteter Mac Runner für ein privates iOS-Projekt sinnvoll?

Das hängt nicht davon ab, ob Sie allein oder im Team entwickeln, sondern davon, wie oft Sie bauen und wie speziell Ihre Umgebung ist. Für gelegentliche Builds mit Standardwerkzeugen ist ein gehosteter Runner meist einfacher. Ein selbst verwalteter Mac kann passen, wenn dieselbe angepasste Toolchain regelmäßig benötigt wird und Sie die Wartung zuverlässig übernehmen können.

Welche Aufgaben müssen Sie bei einem selbst gehosteten GitHub Actions Runner übernehmen?

Sie müssen unter anderem macOS und Build-Werkzeuge pflegen, den Runner registrieren und erreichbar halten, Speicherplatz und temporäre Dateien verwalten sowie Fehler und Updates bearbeiten. Zusätzlich brauchen Sie Regeln für Berechtigungen, Job-Isolation und den Umgang mit Geheimnissen. Die konkrete Verantwortung hängt von Ihrer Konfiguration ab; prüfen Sie dafür die aktuellen offiziellen Hinweise zur Verwaltung und Überwachung.

Wann sollte ein GitHub Actions Build auf einen entfernten Mac wechseln?

Prüfen Sie einen entfernten Mac, wenn Ihr Workflow eine besondere macOS-Umgebung braucht, Builds regelmäßig wiederkehren oder Sie die Ausführungsmaschine gezielter kontrollieren müssen. Ein Wechsel ist nicht automatisch ein Gewinn: Berücksichtigen Sie Zugriff, Wartung, Aktualisierungen, Datenträgerbereinigung und Wiederherstellung. Testen Sie zuerst einen nicht veröffentlichenden Workflow und verschieben Sie Signierung und Veröffentlichung erst nach erfolgreicher Prüfung.

Weiterlesen

Exklusiver physischer Knoten

Richten Sie Ihren festen Build-Runner mit MangoVM ein

Mit MangoVM nutzen Sie einen dedizierten physischen Mac-Knoten, dessen Ressourcen nicht mit anderen Mietern geteilt werden.

Konfiguration auswählen und bestellen