Vom ersten Login bis zum ersten Release

Verbinden, bauen, bereitstellen

Prüfen Sie zuerst in der Konsole, ob Ihre Instanz bereit ist, und verbinden Sie sich dann mit Ihrem exklusiven physischen Mac mini. Führen Sie Builds über die Kommandozeile aus, prüfen Sie die Umgebung auf dem Desktop und überlassen Sie CI wiederkehrende Aufgaben.

Sie haben bereits eine Instanz? Prüfen Sie zuerst die Verbindungsdaten. Andernfalls können Sie einen Mac mieten. Zugangsdaten werden nicht auf öffentlichen Seiten angezeigt.

Instanzstatus zuerst prüfen

Verbindungsweg auswählen

Öffnen Sie in der Konsole die Instanzdetails und prüfen Sie Instanznummer, Knoten und Bereitschaftsstatus. Öffentliche Adresse, Benutzername, Port und Erstzugangsdaten richten sich nach den Angaben Ihrer Instanz. Verwenden Sie nicht die Werte einer anderen Maschine.

SSH-Login

Ideal für Build-Befehle, Dateiübertragungen und Log-Prüfungen. Der Standardport für SSH ist 22; liefert Ihre Instanz einen anderen Port, verwenden Sie diesen.

Adresse und Benutzernamen finden Sie in den Instanzdetails. Prüfen Sie beim ersten Verbindungsaufbau den Host-Fingerprint und hinterlegen Sie anschließend Ihren öffentlichen Schlüssel. Der private Schlüssel bleibt auf Ihrem Rechner und gehört nicht in ein Support-Ticket.

Beispiel für den ersten Build

VNC-Desktop

Ideal zum Öffnen von Xcode, Prüfen des Simulators und Ändern grafischer Einstellungen. Der Standardport für VNC ist 5900; Verbindungsadresse, Passwort und tatsächlichen Port finden Sie in den Instanzdetails.

Prüfen Sie nach dem Verbinden, ob sich der Desktop bedienen lässt. Verwenden Sie das VNC-Passwort nicht für Code-Repositories. Wenn es Ihr Netzwerk zulässt, nutzen Sie für den Zugriff eine kontrollierte Verbindung oder einen SSH-Tunnel.

Probleme mit dem Desktop beheben

Webterminal der Konsole

Melden Sie sich zuerst in der Konsole an und prüfen Sie dann den Verbindungszugang in den Instanzdetails. Falls ein Webterminal verfügbar ist, wird es über HTTPS im Browser aufgerufen, normalerweise über Port 443; ein separater Terminal-Port ist nicht erforderlich.

Die Zugangsdaten stammen aus Ihrer angemeldeten Sitzung und sind kein eigenständiger öffentlicher Link. Wird der Zugang bei Ihrer Instanz nicht angezeigt, nutzen Sie SSH oder VNC. Raten Sie die Terminal-Adresse nicht.

Verbindungszugang der Instanz anzeigen
Erst einzeln testen, dann die Pipeline einrichten

Verbindung und Build getrennt prüfen

Prüfen Sie zuerst den Login und anschließend Xcode-Pfad und -Version. Die folgende Ausgabe ist ein Formatbeispiel, kein Live-Log Ihrer Instanz. Sitzungsname, Build-Nummer und Dauer dienen nur zur Orientierung.

merge@tokyo-m4pro-07 Beispiel für eine Build-Ausgabe
$ ssh -p <SSH_PORT> <USER>@<HOST>
Welcome to MergeMac
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
$ xcodebuild -version
$ cd <PROJECT_DIRECTORY>
$ xcodebuild -scheme App archive
** ARCHIVE SUCCEEDED **
$ fastlane pilot upload
Successfully uploaded Build 214

Parameter ersetzen und ausführen

Ersetzen Sie die Parameter in spitzen Klammern durch die Werte aus den Instanzdetails.App ist ein Beispiel für ein Scheme. Bei einem Workspace-Projekt müssen Sie zusätzlich Ihr eigenes -workspaceübergeben und sicherstellen, dass das Scheme freigegeben ist.

Erfolgreiches Archive heißt nicht, dass der Upload abgeschlossen ist

Für den Upload benötigen Sie außerdem eine gültige Signatur, eine Exportkonfiguration und Upload-Zugangsdaten. Das Beispiel setzt voraus, dass Ihr Projekt für fastlane eingerichtet ist. Build 214 ist kein Nachweis für Ihre Bereitstellung – maßgeblich ist die tatsächliche Ausgabe des Upload-Tools.

Der Maschine klar definierte Aufgaben zuweisen

Self-Hosted Runner einrichten

MergeMac stellt exklusive physische Knoten bereit. Repository-Berechtigungen, Job-Konfiguration und Zugangsdaten für CI verwalten Sie selbst. Führen Sie zunächst mit demselben Ausführungsbenutzer im Terminal ein Archive erfolgreich aus und registrieren Sie erst danach den Runner. So vermeiden Sie, Umgebungsprobleme mit Scheduler-Problemen zu verwechseln.

GitHub Actions

  1. Öffnen Sie die Runner-Einstellungen des gewünschten Repositorys oder der Organisation und wählen Sie macOS sowie die passende Apple-Silicon-Architektur aus.
  2. Laden Sie den Runner auf dem gemieteten Knoten anhand der Anweisungen auf der aktuellen Seite herunter, prüfen Sie ihn und registrieren Sie ihn. Der Registrierungstoken ist vertraulich und darf weder ins Repository noch in Screenshots gelangen.
  3. Fügen Sie Labels hinzu, zum Beispiel mergemac,macosundm4. Ordnen Sie diese Labels im Workflow über runs-on zu.
  4. Führen Sie zunächst einen Job aus, der nur die Xcode-Version prüft. Sobald der richtige Knoten den Job übernimmt, können Sie Schritte für Abhängigkeiten, Archive und Upload ergänzen.

Erlauben Sie nicht, dass nicht vertrauenswürdige externe Pull Requests direkt einen Runner mit Signiermaterial verwenden. Vergeben Sie Berechtigungen für Release-Jobs getrennt von denen für reguläre Prüfungen.

GitLab Runner

  1. Erstellen Sie im Projekt oder in der Gruppe einen Runner und rufen Sie die für die aktuelle Registrierung benötigte Service-URL und den Authentifizierungstoken ab.
  2. Installieren Sie auf dem Knoten einen GitLab Runner für die passende Architektur und registrieren Sie ihn nach der generierten Anleitung. Wenn die lokalen Xcode-Tools benötigt werden, wählen Sie eine geeignete Shell-Ausführungsart.
  3. Legen Sie Labels wie macosundxcode fest und geben Sie sie im Job ausdrücklich an. Release-Runner dürfen nur für geschützte Branches oder Tags verwendet werden.
  4. Starten Sie mit einem Job zur Umgebungsprüfung und kontrollieren Sie Arbeitsverzeichnis, Ausführungsbenutzer und Schlüsselbundzugriff, bevor Sie reguläre Builds aktivieren.

Widerrufen Sie die Berechtigung des Runners in der CI-Plattform, bevor Sie den Token erneuern oder die Mietdauer endet. Das Löschen der Dateien auf dem Knoten widerruft die Berechtigung auf der Plattform nicht automatisch.

Begriffe in der Konsole verstehen

Acht Begriffe einfach erklärt

Diese Begriffe beschreiben Ressourcen und Verbindungsarten. Sie beinhalten keine zusätzlichen Softwarelizenzen und fassen mehrere Maschinen nicht automatisch zu einem größeren Mac zusammen.

Physischer Knoten
Ein einzeln zuweisbarer Mac mini im Rechenzentrum mit einer echten macOS-Entwicklungsumgebung.
Exklusiv
Während der Mietdauer sind CPU, GPU, Unified Memory und lokaler Speicher der gesamten Maschine einem einzigen Kunden zugewiesen.
Keine virtuelle Maschine
Sie nutzen das Betriebssystem direkt auf einem physischen Mac – keine virtuelle Instanz auf einem gemeinsam genutzten Host.
VNC
Protokoll für den Fernzugriff auf den grafischen macOS-Desktop.
SSH
Protokoll für verschlüsselte Kommandozeilen-Logins, Befehlsausführung und Dateiübertragungen.
Self-Hosted Runner
Ein CI-Runner, der auf Ihrem gemieteten Knoten installiert ist und Build-Aufgaben nach Ihrer Pipeline-Konfiguration ausführt.
Unified Memory
Arbeitsspeicher, den CPU und GPU eines Apple-Chips gemeinsam nutzen. Für die tatsächlich verfügbare Kapazität müssen Sie den Bedarf von System und anderen Prozessen abziehen.
Thunderbolt-5-Verbund
Mehrere Geräte über Thunderbolt 5 direkt verbinden und Experimente mit mehreren Maschinen durchführen. Die Verteilung der Aufgaben muss weiterhin von der jeweiligen Anwendung unterstützt werden.
Erst Belege sichern, dann die Umgebung ändern

Fehler anhand des Symptoms eingrenzen

Notieren Sie Zeitpunkt und Zeitzone, Instanznummer, vollständige Fehlermeldung und die letzte Änderung. Ändern Sie jeweils nur eine Sache und wiederholen Sie denselben Test. Eine Neuinstallation sollte nicht der erste Schritt sein.

  1. 01

    VNC: schwarzer Bildschirm oder keine Reaktion

    Prüfen Sie zuerst in der Konsole, ob die Instanz bereit ist, und testen Sie anschließend die SSH-Verbindung. Funktioniert SSH, aber der grafische Desktop nicht, prüfen Sie, ob gerade eine grafische Sitzung angemeldet, abgemeldet oder gewechselt wird. Beenden Sie den Client und stellen Sie die Verbindung erneut her.

    Bleibt der Bildschirm schwarz, notieren Sie die Client-Version und erstellen Sie einen Screenshot für das Support-Ticket. Deaktivieren Sie nicht einfach die Firewall und erzwingen Sie keinen wiederholten Neustart: Dadurch können laufende Builds unterbrochen werden.

  2. 02

    Xcode-Version stimmt nicht überein

    Führen Sie jeweils xcode-select -p und xcodebuild -versionaus. Prüfen Sie sowohl die interaktive Sitzung als auch den Runner. Mehrere installierte Versionen bedeuten nicht, dass die Kommandozeile bereits umgestellt ist.

    Für einen einzelnen Job können Sie DEVELOPER_DIR auf das Developer-Verzeichnis der gewünschten Xcode-Version setzen. So beeinflussen Sie nicht die systemweite Standardversion und andere Jobs. Existiert das Verzeichnis nicht, prüfen Sie zuerst den Installationspfad, statt den Beispielnamen einfach zu übernehmen.

  3. 03

    Simulator belegt den Speicherplatz

    Prüfen Sie mit df -h den verfügbaren Speicherplatz. Kontrollieren Sie danach DerivedData, Archive, Gerätedaten und Simulator-Runtimes. Exportieren Sie zuerst die Build-Artefakte, die Sie behalten möchten, und stoppen Sie Jobs, die gerade einen Simulator verwenden.

    xcrun simctl delete unavailable löscht Einträge nicht verfügbarer Simulatorgeräte, aber nicht alle Runtimes. Prüfen Sie vor dem Löschen genau, worauf sich der Befehl auswirkt. Verwenden Sie keine rekursiven Löschbefehle für Projektverzeichnisse oder Schlüsselbunde.

  4. 04

    Signierzertifikat ungültig

    Unterscheiden Sie zwischen abgelaufenem Zertifikat, ungültigem Provisioning-Profil, fehlendem privaten Schlüssel und gesperrtem Schlüsselbund. Prüfen Sie Gültigkeitsdauer, Team und Bundle-ID des Zertifikats und kontrollieren Sie anschließend, ob der CI-Ausführungsbenutzer auf den zugehörigen privaten Schlüssel zugreifen kann.

    Aktualisieren Sie nach dem Erneuern des Zertifikats auch das Provisioning-Profil und die geschützten Variablen. Führen Sie die Prüfung mit demselben Scheme erneut aus. Fügen Sie einem Support-Ticket nur Fehlercodes und bereinigte Logs bei – niemals private Schlüssel, Exportpasswörter für Zertifikate oder vollständiges Signiermaterial.

Erst sichern, dann Neuinstallation bestätigen

Eine Neuinstallation ändert die Umgebung und erhält den Arbeitsbereich nicht

Eine Neuinstallation des Systems und das Löschen der Daten nach Mietende sind zwei getrennte Vorgänge. Speichern Sie Quellcode, Signiermaterial und Build-Artefakte nicht ausschließlich auf dem gemieteten Knoten.

Neuinstallation während der Mietdauer

Öffnen Sie in der Konsole die Instanzdetails. Bevor Sie die Neuinstallation starten, stoppen Sie die CI-Planung, exportieren Sie Projekte, Artefakte und benötigte Konfigurationen und prüfen Sie, ob sich die Backups an einem anderen Speicherort öffnen lassen.

Die Initialisierung dauert in der Regel einige Minuten. Maßgeblich sind die in der Konsole angezeigte Dauer und der dort gemeldete Status. Senden Sie den Auftrag nicht mehrfach ab. Lesen Sie nach Abschluss die Verbindungsdaten erneut aus, prüfen Sie den Host-Fingerprint und richten Sie die Entwicklungsumgebung neu ein.

Prüfen Sie nach der Neuinstallation erneut SSH, Xcode, Abhängigkeiten und Runner. Gehen Sie nicht davon aus, dass die bisherigen Dienstkonfigurationen noch vorhanden sind.

Datenträgerlöschung nach Mietende

Nach Ende der Mietdauer wird der Knoten gelöscht und das System zurückgesetzt, bevor er erneut bereitgestellt wird. Exportieren Sie alle benötigten Daten selbst vor Mietende. Verlassen Sie sich nicht darauf, nach Ablauf noch eine Verbindung herstellen zu können.

Widerrufen Sie außerdem Deployment-Schlüssel für Code-Repositories, CI-Runner-Token und Upload-Zugangsdaten. Das Löschen der Daten auf dem Knoten entzieht externen Systemen nicht automatisch ihre Zugriffsberechtigungen.

Bei Fragen zur Datenverarbeitung oder zu Sicherheitsgrenzen lesen Sie zuerst die Sicherheitshinweise und klären Sie die Details Ihrer Instanz anschließend über ein Konsolen-Ticket.

Damit die nächste Antwort direkt bei der Fehlerbehebung hilft

Support kontaktieren

Bei Problemen mit einer gemieteten Instanz reichen Sie vorzugsweise ein Ticket über die Konsole ein. So lässt es sich Ihrer Bestellung und Ihrem Knoten zuordnen. Wenn Sie sich nicht anmelden können, eine Frage vor der Bestellung haben oder einen Sicherheitsvorfall melden möchten, schreiben Sie an die Support-Adresse. Erstellen Sie dasselbe Anliegen nicht mehrfach über verschiedene Kanäle.

Konsolen-Ticket

Melden Sie sich an und öffnen Sie den Ticketbereich. Geben Sie Instanznummer, Auswirkungen und Schritte zur Reproduktion an. Ergänzen Sie bei einer Eskalation das bestehende Ticket, damit der Verlauf an einer Stelle bleibt.

Empfohlenes Format: Zeitpunkt und Zeitzone → erwartetes Ergebnis → tatsächliche Fehlermeldung → bereits ausgeführte Schritte. Fügen Sie einen möglichst kurzen, bereinigten Log-Ausschnitt bei und laden Sie nicht das gesamte Quellcodepaket hoch.

Anmelden und Ticket einreichen

Support-E-Mail

Wenn Sie keinen Zugriff auf Ihr Konto haben, nennen Sie in der Betreffzeile die Art des Problems und geben Sie die registrierte E-Mail-Adresse sowie eine Bestellnummer zur Überprüfung an. Senden Sie weder Ihr Kontopasswort noch Ihre Kartennummer.

Der Support arbeitet über Zeitzonen in Asien-Pazifik und an der US-Ostküste hinweg. Die erste Antwort hängt von der Priorität des Problems und der aktuellen Auslastung ab. Den konkreten Fortschritt erfahren Sie per Ticket oder E-Mail; nicht veröffentlichte durchschnittliche Antwortzeiten werden hier nicht zugesagt.

support@mergemac.com

Umgebung einrichten, Builds ausführen lassen

Sie haben bereits einen Mac? Prüfen Sie zunächst den Status in der Konsole. Wenn Sie einen zusätzlichen Build-Knoten benötigen, wählen Sie direkt eine passende Mietkonfiguration. Jeder Mac mini ist exklusiv und physisch – keine virtuelle Maschine.