Selbsthilfe-Leitfaden · Von der Verbindung bis zum Betrieb

Finden Sie den nächsten Schritt,
damit Ihr Cloud-Mac startklar ist.

Sie haben bereits einen Knoten? Verbinden Sie sich zuerst mit dem Desktop, ändern Sie das Passwort und richten Sie dann Builds oder Inferenz ein. Noch nichts gebucht? Lesen Sie zunächst die Voraussetzungen und wählen Sie dann den passenden Tarif.

Verbindungsdaten und Zugangsdaten finden Sie in den Instanzdetails nach der Anmeldung. Diese Seite zeigt keine Zugangsdaten an und führt keine Fernzugriffe aus.

Diese vier Schritte zuerst

Mit der ersten Anmeldung beginnen

Gehen Sie in dieser Reihenfolge vor: Prüfen Sie zuerst Instanz und Verbindungsdaten, bevor Sie die Toolchain einrichten. Unterscheiden Sie bei der Fehlersuche zwischen Verbindungs- und Build-Problemen.

01

In der Konsole anmelden

Melden Sie sich mit der E-Mail-Adresse an, die Sie bei der Bestellung angegeben haben, und folgen Sie den Anweisungen auf der Seite, um sich anzumelden oder ein Konto einzurichten. Prüfen Sie in der Instanzübersicht das bestellte Modell, den Knoten und den Abrechnungszeitraum.

Eine erfolgreiche Zahlung bedeutet nicht, dass das System bereits bereit ist. Prüfen Sie zunächst den Bereitstellungsstatus der Instanz. Stellen Sie erst dann eine Verbindung her, wenn die Instanzdetails Verbindungsdaten enthalten. Wenn Sie die Bestellung nicht finden, prüfen Sie, ob Sie dieselbe E-Mail-Adresse wie bei der Bestellung verwenden.

Instanz nach der Anmeldung ansehen
02

VNC- und SSH-Zugangsdaten abrufen

Die Verbindungsadresse, den Benutzernamen, das Passwort und den Port finden Sie in den Details einer betriebsbereiten Instanz. Verwenden Sie für VNC und SSH jeweils die angegebenen Daten. Gehen Sie nicht davon aus, dass beide Verbindungen denselben Port nutzen.

Prüfen Sie bei der ersten SSH-Verbindung die Host-Informationen, bevor Sie den Fingerabdruck bestätigen. Veröffentlichen Sie Passwörter, private Schlüssel oder Screenshots mit Zugangsdaten weder in öffentlichen Repositories noch in Chats oder Build-Logs.

Verbindungsschritte für Ihre Plattform ansehen
03

Xcode und Kommandozeilen-Tools prüfen

Prüfen Sie zuerst den aktuellen Pfad und die Version, bevor Sie etwas installieren. Wenn Ihr Projekt vollständiges Xcode benötigt, reichen die Kommandozeilen-Tools allein nicht aus. SDK, Simulatoren und Build-Tools müssen zu den Projektanforderungen passen.

xcode-select -p
xcodebuild -version
xcrun --find clang

Installieren oder wechseln Sie Xcode mit einem von Ihrer Organisation freigegebenen Installationspaket. Öffnen Sie Xcode zum ersten Mal, um die Komponenteninitialisierung abzuschließen, und prüfen Sie die Version anschließend erneut im Terminal. Für den Wechsel des Entwicklerverzeichnisses sind möglicherweise Administratorrechte erforderlich.

Prüfen Sie Pfad, Version und Compiler
04

Standardpasswort nach der ersten Anmeldung ändern

Ändern Sie das Passwort des aktuellen Benutzers in den macOS-Benutzereinstellungen oder führen Sie im Terminal passwd aus und folgen Sie den Anweisungen. Verwenden Sie ein eigenes, starkes Passwort, das Sie weder für Ihr Code-Repository noch für Ihr E-Mail-Konto nutzen.

Lassen Sie die aktuelle Sitzung geöffnet und prüfen Sie das neue Passwort über eine zweite Verbindung. Bevor Sie bei SSH auf einen öffentlichen Schlüssel umstellen, vergewissern Sie sich, dass eine neue Sitzung funktioniert. Deaktivieren Sie die bisherige Authentifizierung nicht, solange kein Wiederherstellungsweg eingerichtet ist.

Neue Verbindung testen, bevor Sie die alte Sitzung beenden
Aufgaben an den Knoten übergeben

CI einrichten und eine minimale Pipeline ausführen

Runner registrieren, Ausführungsbenutzer prüfen und Toolchain testen – erst danach sollten Sie die Parallelität optimieren. Die folgenden Schritte führen Sie auf Ihrem Knoten aus. Die Pipeline-Berechtigungen verwaltet Ihre Code-Hosting-Plattform.

GitHub Actions: selbst gehosteten Runner registrieren

Fügen Sie in den Actions-Einstellungen Ihres Repositorys oder Ihrer Organisation einen selbst gehosteten Runner hinzu und wählen Sie macOS und ARM64. Verwenden Sie die auf der Seite aktuell generierten Befehle zum Herunterladen und Registrieren. Speichern Sie das Registrierungstoken nicht in einem dauerhaft verwendeten Skript.

  1. 1Als Build-Benutzer registrieren

    Registrieren Sie den Runner mit dem macOS-Benutzer, der die Builds tatsächlich ausführt. Vergewissern Sie sich, dass dieser auf das Projektverzeichnis und den für den Build benötigten Schlüsselbund zugreifen kann.

  2. 2Eigenes Label hinzufügen

    Weisen Sie dem Knoten beispielsweise das Label osxflow-m4 zu. Richten Sie zunächst einen einzelnen Test-Workflow auf dieses Label aus, damit kein älterer Runner den Auftrag gleichzeitig übernimmt.

  3. 3Erst testen, dann dauerhaft einrichten

    Starten Sie den Runner zunächst interaktiv und prüfen Sie, ob der Workflow erfolgreich ist. Richten Sie ihn danach anhand der beiliegenden Dienstanleitung dauerhaft ein. Prüfen Sie nach einer erneuten Anmeldung, ob der Prozess läuft und die Plattform eine Verbindung anzeigt.

jobs:
  verify:
    runs-on: [self-hosted, macOS, ARM64, osxflow-m4]
    steps:
      - run: |
          uname -m
          xcodebuild -version
          xcrun --find clang

Lassen Sie nicht vertrauenswürdige externe Commits nicht direkt auf einen Runner zugreifen, der Signaturmaterial enthält. Verlagern Sie Release-Prozesse und Geheimnisse erst, nachdem die Test-Pipeline erfolgreich durchgelaufen ist.

GitLab Runner: Shell Executor auswählen

Registrieren Sie den Runner mit den Zugangsdaten, die Sie in den Projekt- oder Gruppeneinstellungen erstellt haben, und wählen Sie als Executor shell. Die Aufgaben laufen damit direkt in der Benutzerumgebung des Knotens – eine Isolierung auf Containerebene gibt es nicht.

Begrenzen Sie die Parallelität zunächst auf 1, damit sich Signaturaufgaben und Cache-Schreibvorgänge nicht gegenseitig beeinträchtigen. Achten Sie darauf, dass PATH, Entwicklerverzeichnis und Ruby-Umgebung des Runner-Benutzers mit denen Ihrer manuellen Tests übereinstimmen.

concurrent = 1

[[runners]]
  executor = "shell"
  shell = "bash"

Dies sind nur relevante Felder aus der Konfigurationsdatei nach der Registrierung, keine vollständige Registrierungskonfiguration. Behalten Sie die vom Registrierungsprogramm erzeugten Angaben zu Adresse, Authentifizierung und weitere Felder bei. Überschreiben Sie nicht die ganze Datei mit diesem Beispiel.

Weisen Sie dem Runner ein eigenes Label zu und lassen Sie den Testauftrag Folgendes ausgeben: whoami,pwd und xcode-select -p. Wenn der Build im Terminal funktioniert, aber in CI fehlschlägt, vergleichen Sie zuerst Benutzer, Pfade und Umgebungsvariablen, statt die Tools erneut zu installieren.

Fastlane: Signaturmaterial getrennt vom Code verwalten

Importieren Sie Zertifikate, private Schlüssel und Provisioning-Profile gemäß dem Freigabeprozess Ihres Teams. Speichern Sie diese weder im Quellcode-Repository noch geben Sie Entschlüsselungspasswörter in der Fastlane-Ausgabe aus.

  • Verwenden Sie für CI einen eigenen Schlüsselbund und beschränken Sie den Dateizugriff. Der Build-Benutzer muss ihn entsperren und auslesen können.
  • Übergeben Sie Passwörter als geheime Variablen über Ihre Code-Hosting-Plattform. Fügen Sie sie nicht direkt in Befehle ein, deren Ausgabe sichtbar sein kann.
  • Legen Sie Provisioning-Profile passend zu den Anforderungen Ihrer aktuellen Xcode-Version ab. Prüfen Sie mit einem minimalen Archiv, ob Team, Zertifikat und Konfiguration zusammenpassen.
  • Löschen Sie temporäre Signaturdateien nach dem Export der Build-Artefakte. Widerrufen Sie vor Ablauf der Knotenmietdauer nicht mehr benötigte Runner-Registrierungen und Zugriffstoken.

Ein dedizierter physischer Mac ersetzt keine Berechtigungsverwaltung im Projekt. Wer die Release-Pipeline bearbeiten kann, kann möglicherweise auch über Aufgaben auf die Signaturumgebung zugreifen. Prüfen Sie daher auch die Repository-Berechtigungen.

Erst testen, dann größere Modelle ausprobieren

Mit MLX ein reproduzierbares Inferenz-Experiment durchführen

Flow M4 Pro ist mit M4 Pro, 64 GB und 2 TB ausgestattet. Das System und Ihre Aufgaben teilen sich den gemeinsamen Arbeitsspeicher; 64 GB stehen dem Modell also nicht vollständig zur Verfügung. Planen Sie Speicher für Gewichte, Kontext und Laufzeit-Cache ein.

Python-Umgebung isolieren

Prüfen Sie zuerst, dass Python die ARM64-Architektur verwendet, und erstellen Sie dann für jedes Experiment eine virtuelle Umgebung. Mischen Sie nicht die Abhängigkeiten verschiedener Modellprojekte in der Systemumgebung.

python3 -c "import platform; print(platform.machine())"
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install mlx-lm
python -m pip freeze > requirements.lock.txt

Speichern Sie die Abhängigkeitsliste sowie die Python- und Modellversion. Installieren Sie für reproduzierbare Experimente dieselbe Umgebung und vergleichen Sie dann Ausgabe und Ressourcenverbrauch.

Ziel: isolierte Umgebung, reproduzierbare Abhängigkeiten

Mit einem kleinen Modell und kurzem Kontext starten

Wählen Sie ein quantisiertes, mit MLX kompatibles Modell, das Sie verwenden dürfen, und lesen Sie zunächst die Modelldokumentation. Halten Sie Bitbreite der Quantisierung, Kontextlänge und Generierungslänge fest – vergleichen Sie nicht nur die Dateigröße des Modells.

python -m mlx_lm.generate --help

Übergeben Sie Modell und Prompt entsprechend der Hilfe für Ihre installierte Version. Führen Sie zunächst eine einzelne Inferenz aus und erweitern Sie dann schrittweise den Kontext. Beobachten Sie in der Aktivitätsanzeige den Speicherdruck und den Auslagerungsspeicher. Steigt der Speicherdruck dauerhaft, reduzieren Sie die Aufgabenlast.

Halten Sie beim Experimentvergleich Prompt, Generierungslänge und Parallelität konstant. Ergebnisse verschiedener Modelle und Quantisierungsmethoden lassen sich nicht direkt als Leistungsunterschiede zwischen Knoten interpretieren.

Keine vorab zugesicherte Tokenrate und keine Garantie, dass ein Modell vollständig in den Speicher passt

Modelldateien getrennt von Projektdaten speichern

Wenn Sie mehr Speicherplatz benötigen, wählen Sie bei der Bestellung die SSD-Erweiterung um +2 TB. Prüfen Sie auf dem Knoten zuerst den tatsächlichen Einhängepfad und den verfügbaren Speicher. Verschieben Sie dann Modellgewichte und Download-Cache. Gehen Sie nicht davon aus, dass alle Knoten denselben Volume-Namen verwenden.

Beenden Sie vor dem Verschieben alle Aufgaben, die das Modell verwenden. Prüfen Sie nach dem Kopieren Dateianzahl und -größe und passen Sie anschließend den Modellpfad oder Cache-Pfad des Tools an. Testen Sie zuerst, ob das Modell geladen wird, und löschen Sie erst dann die ursprüngliche Kopie.

Mehr Speicherplatz ist kein Ersatz für ein Backup. Sichern Sie Modellversionen, Konfigurationen und wichtige Ergebnisse an einem von Ihnen kontrollierten Speicherort, statt sie nur auf dem gemieteten Knoten aufzubewahren.

Speichererweiterungen und Preise ansehen
Begriffe einheitlich verwenden

Acht häufige Begriffe verständlich erklärt

Diese Definitionen gelten für Bestellungen, Verbindungen und Supportanfragen. Verwenden Sie bei der Problembeschreibung dieselben Begriffe, damit sich Gerät, Verbindungsprotokoll und Abrechnungseinstellungen leichter unterscheiden lassen.

Physischer Knoten
Der tatsächlich gemietete Mac, auf dem Ihr Dienst läuft – nicht der Remote-Desktop-Client. Geben Sie bei einer Supportanfrage die Knotennummer aus den Instanzdetails an, statt nur von „dem Rechner“ zu sprechen.
Dediziert
Während der Mietdauer steht das gesamte Gerät Ihren Aufgaben zur Verfügung. CPU, GPU und gemeinsamer Arbeitsspeicher werden nicht mit anderen Mietern geteilt. Auch bei parallelen Builds müssen Sie den Ressourcenverbrauch Ihrer eigenen Aufgaben im Blick behalten.
Kein virtueller Mac
Sie verwenden ein natives macOS-System auf einem physischen Mac, keine virtualisierte Instanz auf einem gemeinsam genutzten Host. Prüfen Sie, ob Toolchain und macOS-Version zu den Apple-Silicon-Anforderungen Ihres Projekts passen.
VNC
Ein Fernzugriffsprotokoll, das Desktopbild sowie Tastatur- und Mauseingaben überträgt und sich für die Arbeit mit grafischen Oberflächen eignet. Zum ersten Start von Xcode, Ändern von Systemeinstellungen oder Prüfen der Aktivitätsanzeige.
Bildschirmfreigabe
Die in macOS integrierte Möglichkeit, eine Remote-Desktop-Verbindung herzustellen. Verbinden Sie sich anhand der Angaben in den Instanzdetails mit dem Knoten. Öffnen Sie auf Ihrem lokalen Mac im Finder „Mit Server verbinden“, um den entfernten Schreibtisch aufzurufen.
Selbst gehosteter Runner
Ein von Ihnen registrierter und verwalteter Prozess, der Pipeline-Aufgaben auf Ihrem Knoten ausführt. Weisen Sie der Release-Pipeline ein eigenes Label zu, damit sie diesen Cloud-Mac auswählt.
Abrechnungszeitraum
Der bei der Bestellung ausgewählte Vorauszahlungszeitraum – pro Tag, Woche, Monat oder Quartal. Er ist nicht mit der Laufzeit eines einzelnen Build-Auftrags gleichzusetzen. Behalten Sie auch nach dem Release die Bestelllaufzeit im Blick und exportieren Sie Ihre Daten rechtzeitig.
Thunderbolt-5-Verbund
Eine pro Gerät berechnete Zusatzoption für den Mehrknotenbetrieb. Sie fasst mehrere Geräte nicht automatisch zu einem gemeinsamen Arbeitsspeicher zusammen. Prüfen Sie bei der Planung von Aufgaben über mehrere Knoten, ob Ihre Anwendung die entsprechende verteilte Ausführung unterstützt.
Immer nur eine Einstellung ändern

Häufige Probleme systematisch beheben

Notieren Sie zuerst die genaue Fehlermeldung, bevor Sie Einstellungen ändern. Lassen Sie eine bestehende Verbindung geöffnet und deaktivieren Sie nicht Ihren einzigen verfügbaren Zugangsweg zum Testen.

VNC verbunden, aber der Bildschirm bleibt schwarz

Prüfen Sie zunächst, ob die Instanzdetails den Systemstatus als bereit anzeigen, und kontrollieren Sie dann VNC-Adresse und Port. Trennen Sie die Verbindung, lassen Sie nur einen Client geöffnet und versuchen Sie es erneut. Senken Sie gegebenenfalls die Auflösung oder deaktivieren Sie die adaptive Bildqualität, um ein Anzeigeproblem des Clients von einem Sitzungsproblem auf dem Knoten zu unterscheiden.

Wenn SSH noch funktioniert, starten Sie den Knoten nicht sofort neu, solange dort Aufgaben laufen. Notieren Sie den Clientnamen, die Version und die Aktionen vor dem schwarzen Bildschirm sowie den SSH-Status. Fügen Sie einer Supportanfrage einen Screenshot ohne Zugangsdaten bei.

Desktop-Verbindung für Ihre Plattform ansehen
SSH-Verbindung abgelehnt: Welcher Fehler wird angezeigt?

Connection refused Prüfen Sie zuerst Adresse, Port und Dienststatus. Bei einer Zeitüberschreitung kontrollieren Sie Ihr lokales Netzwerk, den Proxy und mögliche Zugriffsbeschränkungen. BeiPermission denied prüfen Sie zuerst Benutzernamen und Authentifizierungsmethode. Verwechseln Sie einen Authentifizierungsfehler nicht mit einem Netzwerkproblem.

Zur Fehlersuche können Sie ssh -v verwenden, um die einzelnen Verbindungsphasen anzuzeigen. Veröffentlichen Sie nicht das vollständige Debug-Log. Entfernen Sie vor dem Teilen Adresse, Benutzername, Schlüsselpfad und Angaben zur Authentifizierung. Prüfen Sie bei einem privaten Schlüssel die Dateiberechtigungen und ob der öffentliche Schlüssel auf dem Server dazu passt.

Wenn Sie noch auf den grafischen Desktop zugreifen können, prüfen Sie zuerst in den Systemeinstellungen, ob Remote-Anmeldung aktiviert ist. Wenn Sie die Ursache nicht finden, senden Sie die genaue Fehlermeldung, Knotennummer und den verwendeten Port über eine Supportanfrage. Ändern Sie nicht mehrere Authentifizierungseinstellungen gleichzeitig.

Xcode-Download oder -Installation dauert sehr lange

Stellen Sie zuerst fest, ob gerade heruntergeladen, geprüft oder entpackt wird. Beobachten Sie Netzwerkverkehr, CPU- und Datenträgeraktivität: Auch wenn der Netzwerkverkehr vorübergehend stoppt, kann die Festplatte noch arbeiten. Starten Sie denselben Installationsvorgang nicht mehrfach.

Vergewissern Sie sich, dass auf dem Zieldatenträger genügend Platz für Installationspaket, entpackte Dateien und Projekt-Cache vorhanden ist. Verwenden Sie für eine festgelegte Version ein von Ihrer Organisation freigegebenes Installationspaket und prüfen Sie dessen Integrität. Führen Sie nach der Installation erneut xcodebuild -versionaus, um zu bestätigen, dass CI und grafische Oberfläche dieselbe Version verwenden.

Geben Sie in Ihrer Supportanfrage die Xcode-Version, den aktuellen Installationsschritt, den freien Speicherplatz und die Proxy-Nutzung an. „Dauert lange“ reicht für die Diagnose nicht aus.

Zu wenig Speicherplatz: Cache löschen oder Kapazität erweitern?

Prüfen Sie zuerst die Volume-Kapazität und ermitteln Sie dann die größten Verzeichnisse. Die folgenden Befehle lesen nur Speicherinformationen aus und löschen keine Dateien. Das Erfassen großer Benutzerverzeichnisse kann einige Zeit dauern.

df -h
du -sh "$HOME/Library/Developer/Xcode/DerivedData"
du -sh "$HOME/Library/Caches"

Beenden Sie Builds, bevor Sie wiederherstellbare Cache-Dateien entfernen. Löschen Sie nicht ganze Verzeichnisse mit Schlüsselbünden, Signaturmaterial, Projektquelldateien oder der einzigen Modellkopie. Nach dem Leeren des Caches muss der erste Build die Inhalte meist neu erstellen. Planen Sie dafür Zeit vor einem Release ein.

Für wachsende Modellgewichte und Build-Artefakte sollten Sie den Speicherplatz separat planen. Sie können eine SSD-Erweiterung um +1 TB oder +2 TB wählen. Wenn Sie eine bestehende Bestellung anpassen möchten, klären Sie das Vorgehen zuerst über eine Supportanfrage in der Konsole. Gehen Sie nicht davon aus, dass Ihre Projekte nach der Erweiterung automatisch verschoben werden.

SSD-Erweiterungen ansehen
Auch die Hintergründe verstehen

Technische Artikel weiterlesen

Diese Seite erklärt, was als Nächstes zu tun ist. Ausführliche Anleitungen zu Build-Praxis, Geräteauswahl und Datenschutz finden Sie im Verzeichnis der technischen Artikel. Titel, Zusammenfassungen und Veröffentlichungsdaten entsprechen den tatsächlichen Einträgen dort.

Problem klar übergeben

Noch nicht gelöst? Diese drei Angaben helfen bei Ihrer Supportanfrage

Melden Sie sich als Bestandskunde möglichst an und stellen Sie die Supportanfrage über die Konsole, damit sie Ihrer Instanz zugeordnet werden kann. Senden Sie weder Passwörter noch private Schlüssel, vollständige Kartennummern oder Screenshots mit Zugangsdaten.

  1. 01Betroffene Instanz

    Knotennummer, Bestellnummer sowie ungefährer Zeitpunkt und Zeitzone des Problems. Bei Zahlungsfragen genügt die Transaktionskennung – senden Sie keine Authentifizierungsdaten.

  2. 02Schritte zur Reproduktion

    Was haben Sie getan, was haben Sie erwartet und was ist tatsächlich passiert? Fügen Sie bei Verbindungsproblemen den verwendeten Client und seine Version, bei Build-Problemen die Toolchain-Version hinzu.

  3. 03Bereits geprüfte Punkte

    Fügen Sie die bereinigte Originalfehlermeldung bei. Geben Sie an, ob der grafische Desktop oder SSH noch erreichbar ist und ob gerade Aufgaben laufen, die nicht unterbrochen werden dürfen.

Sie müssen nicht alles erneut schildern:
Senden Sie einfach auch Ihre Prüfergebnisse mit.

Stellen Sie in der Konsole eine Supportanfrage, die Ihrer Instanz zugeordnet wird. Bei Fragen vor dem Kauf, Kontakt per E-Mail oder Rechnungsfragen hilft Ihnen auch die Kontaktübersicht weiter.