Oakmini Support-Handbuch

Cloud-Mac-Probleme bis zur klaren Ursache eingrenzen

Ordnen Sie das Problem zunächst den Bereichen Verbindung, Entwicklungsumgebung, CI/CD, Speicher, Netzwerk oder Kontoverwaltung zu. Prüfen Sie anschließend Status, Parameter und Protokolle in einer festen Reihenfolge. Oakmini stellt dedizierte physische Mac-mini-Knoten bereit, keine virtuellen Maschinen. Prüfen Sie lokale Verbindungsbedingungen, Knotenstatus und Projekt-Toolchain getrennt.

6 Fehlerbehebungseinstiege 5 verfügbare Knotenregionen 365 Tage verfügbar
Cloud-Mac-Arbeitsumgebung und Szenarien für Terminalverbindungen
connection-check
$ uname -m
arm64
$ sw_vers -productVersion
macOS ready
$ ssh -v oak-node
debug1: Authentication succeeded
$ df -h /
Filesystem status: available
TRIAGE / 01

Wählen Sie zuerst den richtigen Prüfpfad

Ändern Sie Netzwerk, Zugangsdaten und Toolversionen nicht gleichzeitig. Wählen Sie zunächst das passendste Symptom, prüfen Sie pro Schritt nur eine Variable und protokollieren Sie Zeitpunkt, Aktion und Ergebnis. So vermeiden Sie, dass eine Änderung ein anderes Problem verdeckt.

Speicher

Zuerst den Speicherverbrauch lokalisieren

Verwenden Sie df -h zur Anzeige der Volume-Kapazität und anschließend du -sh zur Prüfung von Projekten, Build-Caches und Exportverzeichnissen. Stellen Sie vor dem Löschen sicher, dass Artefakte gesichert sind, und leeren Sie unbekannte Systemverzeichnisse nicht direkt.

Netzwerk

Interaktionslatenz und Auftragsdauer getrennt betrachten

Erfassen Sie separat die Dauer für SSH-Verbindung, VNC-Bedienung, Codeabruf und lokalen Build. Ist nur die grafische Oberfläche langsam, reduzieren Sie zunächst die VNC-Qualität. Sind Befehlszeile und Übertragung gleichzeitig betroffen, prüfen Sie lokale Verbindung und Knotenerreichbarkeit.

Kontoverwaltung

Der Auftragsstatus in der Konsole ist maßgeblich

Prüfen Sie angemeldetes Konto, Auftragskennung, ausgewählte Region und Zeitpunkt der letzten Aktion. Hoststatus, Aufträge und Verwaltungsaktionen werden vollständig in der Konsole bearbeitet. Übermitteln Sie im Supportfall nur die Auftragskennung, niemals Zugangsdaten.

CONNECTION / 02

Verbindungsdiagnose in fünf Ebenen durchführen

Verbindungsfehler treten meist auf einer der Ebenen Hoststatus, lokales Netzwerk, Verbindungsparameter, Firewall oder Zugangsdaten auf. Prüfen Sie sie der Reihe nach und ändern Sie die nächste Ebene erst, wenn die vorherige bestanden ist.

  1. 01

    Hoststatus in der Konsole prüfen

    Stellen Sie sicher, dass der zum Auftrag gehörende Cloud Mac verbindungsbereit ist. Prüfen Sie, ob Knotenregion und Verbindungsdaten zum selben physischen Knoten gehören. Nach einer Verwaltungsaktion sollten Sie Zeitpunkt und aktuellen Status notieren und dieselbe Aktion nicht wiederholt absenden.

    Erfolgsbedingung: Der Hoststatus ist normal; Auftragskennung, Knotenregion und Verbindungsziel stimmen überein.
  2. 02

    Netzwerkerreichbarkeit prüfen

    Prüfen Sie zunächst, ob das lokale Netzwerk Zieladresse und Port erreicht, und vergleichen Sie anschließend ein anderes vertrauenswürdiges Netzwerk. Schlägt nur das Büronetzwerk fehl, prüfen Sie die Ausgangsrichtlinien. Schlagen alle Netzwerke fehl, bewahren Sie Testzeit, Zielport und Fehlertyp auf.

    nc -vz HOST PORT
    ssh -vvv USER@HOST
    Erfolgsbedingung: Der Port ist erreichbar, und die Verbindung läuft vor dem Handshake nicht in einen Timeout.
  3. 03

    SSH- oder VNC-Parameter exakt abgleichen

    Stellen Sie sicher, dass Hostadresse, Port, Benutzername und Verbindungsmethode aus dem aktuellen Auftrag stammen. SSH-Konfigurationsaliase können Port oder Schlüsselpfad überschreiben. Mit ausführlichen Protokollen sehen Sie die tatsächlich verwendeten Parameter. Bei VNC prüfen Sie Zieladresse, Anzeigeeinstellungen und alte gespeicherte Clientdaten.

    ssh -G oak-node
    ssh -v USER@HOST -p PORT
    Erfolgsbedingung: Die tatsächlich verwendeten Clientparameter stimmen vollständig mit den Konsolenangaben überein.
  4. 04

    Lokale Firewall und Sicherheitsrichtlinien prüfen

    Dokumentieren Sie vor einem temporären Test zunächst die bestehenden Regeln. Prüfen Sie, ob Terminal, SSH- oder VNC-Client Verbindungen initiieren dürfen und ob das Unternehmensnetz den Zielport beschränkt. Deaktivieren Sie den lokalen Schutz nicht dauerhaft zur Fehlersuche.

    Erfolgsbedingung: Programm und Port besitzen eine eindeutig erlaubte ausgehende Verbindung; Tests über ein alternatives Netzwerk liefern dasselbe Ergebnis.
  5. 05

    Gültigkeit der Zugangsdaten prüfen

    Unterscheiden Sie zwischen „Netzwerk-Timeout“ und „Authentifizierung abgelehnt“. Ein Timeout wird nicht durch einen Passwortwechsel behoben. Bei abgelehnter Authentifizierung prüfen Sie Benutzername, Schlüsseldatei, Dateiberechtigungen und kürzlich geänderte Zugangsdaten. Supportanfragen dürfen nur den Authentifizierungsfehler enthalten, niemals Passwort oder privaten Schlüssel.

    chmod 600 ~/.ssh/id_ed25519
    ssh-add -l
    Erfolgsbedingung: Der Handshake ist abgeschlossen, die Authentifizierung erfolgreich und die Verbindung erreicht die macOS-Befehlszeile oder grafische Oberfläche.
Mindestnachweise:Auftragskennung, Knotenregion, Zeitpunkt und Zeitzone, Verbindungsmethode, Originalmeldung des Clientfehlers und bereits geprüfte Schritte. Entfernen Sie aus Protokollen alle sensiblen Felder außer dem Benutzernamen und maskieren Sie Hostzugangsdaten, Schlüssel und Token.
TOOLCHAIN / 03

Entwicklungsumgebung anhand von Versionen, Pfaden und Projektergebnis prüfen

„Installiert“ bedeutet nicht automatisch, dass die Pipeline das Tool verwendet. Erfassen Sie bei der Toolchain-Analyse ausführbaren Pfad, Version, aktuelle Shell-Umgebung und tatsächliches Projektergebnis.

Tool Zuerst prüfen Empfohlener Befehl Häufige Abweichung
Xcode Aktuelles Entwicklerverzeichnis, Version, SDK-Liste xcode-select -p
xcodebuild -version
Die Befehlszeile verweist auf eine andere Xcode-Version; das benötigte SDK ist in der aktuellen Version nicht vorhanden
Homebrew Binärpfad, Paketliste, Diagnoseergebnis brew --prefix
brew doctor
Die Shell lädt nicht den richtigen Pfad; nach einer Migration stimmen Paketliste und lokale Umgebung nicht überein
Git Version, Remote-Adresse, Repository-Berechtigungen und Benutzerkonfiguration git --version
git remote -v
Runner und interaktive Shell verwenden unterschiedliche Zugangsdaten oder Arbeitsverzeichnisse
Fastlane Aufrufquelle, gesperrte Abhängigkeiten, Lane und Namen der Umgebungsvariablen bundle exec fastlane --version Die globale Version wird direkt aufgerufen, statt die Projektabhängigkeiten zu verwenden
Laufzeitumgebung Interpreterpfad, Versionsmanager und im Projekt festgelegte Version which ruby
which node
Interaktive Shell und nicht interaktive Aufgabe laden unterschiedliche Initialisierungsdateien
Umgebungsbaseline

Eine maschinenlesbare Liste aufbewahren

Dokumentieren Sie macOS-Version, Chiparchitektur, Xcode-Version, Homebrew-Paketliste, Git-Version und Laufzeitumgebungen. Ändern Sie bei jedem Upgrade nur eine Hauptkomponente und speichern Sie die Liste jeweils vor und nach dem Upgrade.

Pfadverwaltung

Den PATH prüfen, den die Aufgabe tatsächlich sieht

Wenn ein Befehl im lokalen Terminal funktioniert, der Runner jedoch fehlschlägt, schreiben Sie echo "$PATH",which und Versionsbefehle in temporäre Diagnoseschritte. Entfernen Sie nach der Prüfung unnötige Umgebungsdaten, damit keine sensiblen Variablen im Protokoll erscheinen.

Reproduzierbare Prüfung

Mit einem Minimalprojekt reproduzieren

Führen Sie zunächst die Abhängigkeitsauflösung, anschließend einen sauberen Build aus und prüfen Sie danach Artefaktpfad und Exit-Code. Funktioniert das Minimalprojekt, das Geschäftsprojekt jedoch nicht, prüfen Sie Projektkonfiguration, gesperrte Abhängigkeiten und Skriptberechtigungen.

BASELINE COMMANDS

Befehle für den Umgebungs-Snapshot

Die folgenden Ausgaben reichen für eine grundlegende Versionsaufzeichnung. Entfernen Sie vor einer Supportanfrage Projektnamen aus Verzeichnissen und alle sensiblen Parameter.

uname -m
sw_vers
xcode-select -p
xcodebuild -version
brew --prefix
git --version
which ruby
which node
df -h /
CI/CD / 04

Vom Online-Status des Runners bis zum Protokoll eines einzelnen Auftrags

CI/CD-Probleme sollten schrittweise geprüft werden: Auftrag angenommen, Arbeitsverzeichnis betreten, Berechtigungen erhalten, Abhängigkeiten getroffen und Build abgeschlossen. Ziehen Sie keine Schlussfolgerung nur aus der abschließenden Fehlermeldung.

01

Runner-Registrierung

Prüfen Sie, ob der Runner-Dienst läuft, die Registrierung gültig ist und die Konsole ihn als online anzeigt. Notieren Sie vor einem Neustart den Zeitpunkt des letzten Online-Status und des letzten erfolgreichen Auftrags.

  • Runner-Namen und Zielprojekt abgleichen
  • Dienstprozess und Startbenutzer prüfen
  • Prüfen, ob der Dienst nach einem Systemneustart automatisch wieder startet
02

Label-Abgleich

Wenn ein Auftrag lange wartet, der Runner aber online ist, vergleichen Sie die geforderten Labels mit den tatsächlichen Runner-Labels. Unterschiede bei Großschreibung, Leerzeichen oder Architektur können verhindern, dass der Auftrag übernommen wird.

  • Ein eindeutiges Apple-Silicon-Label beibehalten
  • Deaktivierte alte Labels entfernen
  • Prüfen, ob der Ziel-Branch diesen Runner verwenden darf
03

Berechtigungen und Arbeitsverzeichnis

Stellen Sie sicher, dass der Runner-Benutzer die erforderlichen Rechte für Repository-, Cache- und Artefaktverzeichnisse besitzt. Erweitern Sie nicht die Berechtigungen aller Verzeichnisse, um einen Fehler in einem einzelnen Pfad zu kaschieren.

  • Den tatsächlichen Benutzer des Auftrags dokumentieren
  • Prüfen, ob Skripte Ausführungsrechte besitzen
  • Sicherstellen, dass temporäre Verzeichnisse Dateien erstellen und löschen können
04

Cache und Parallelität

Bei Cachefehlern führen Sie zunächst einen Vergleichsauftrag ohne Verwendung des alten Caches aus. Wenn parallele Aufträge Dateien überschreiben, weisen Sie jedem Auftrag ein eigenes Arbeitsverzeichnis zu und prüfen Sie, ob Speicher und Storage von Oak Core oder Oak Forge zur Auftragsgröße passen.

  • Cache-Schlüssel und Version der Abhängigkeitssperrdatei dokumentieren
  • Gemeinsamen Cache und Auftragsarbeitsverzeichnis unterscheiden
  • Ergebnisse einzelner und paralleler Aufträge vergleichen
05

Protokolle und Exit-Codes

Bewahren Sie Startzeit, Runner-Name, Commit-ID, wichtige Toolversionen, fehlerhaften Schritt, Exit-Code und das Ende des Protokolls auf. Bei reproduzierbaren Fehlern dokumentieren Sie die kürzeste Reproduktion; bei sporadischen Fehlern mindestens einen erfolgreichen und einen fehlgeschlagenen Vergleich.

  • Start- und Endzeit wichtiger Phasen ausgeben
  • Build-Protokolle und Testberichte als Artefakte speichern
  • Token, Schlüssel und Signaturmaterial vor dem Upload entfernen

Auftrag bleibt in der Warteschlange

Prüfen Sie zuerst Runner-Status, Projektberechtigung und Labels. Löschen Sie den Cache noch nicht, da der Auftrag die Build-Phase noch nicht erreicht hat.

Auftrag schlägt direkt nach dem Start fehl

Prüfen Sie zuerst Arbeitsverzeichnis, Skriptberechtigungen, Shell-Initialisierung und Toolpfad. Vergleichen Sie Umgebungsvariablen von interaktivem Terminal und Runner.

Abhängigkeitsinstallation instabil

Prüfen Sie Sperrdatei, Cache-Schlüssel, freien Speicher und Netzwerk-Downloadprotokolle. Verwenden Sie einen Auftrag mit sauberem Cache als Vergleich und überschreiben Sie nicht fortlaufend die Originalnachweise.

Fehler tritt nur bei Parallelität auf

Prüfen Sie Speicherauslastung, Schreibkonflikte in gemeinsamen Verzeichnissen, belegte Ports und Namen temporärer Dateien. Reduzieren Sie zunächst die Parallelität und entscheiden Sie danach über eine Anpassung der Aufteilung oder Konfiguration.

GLOSSARY-MINI / 05

Acht häufige Begriffe in Supportanfragen

Einheitliche Begriffe reduzieren Rückfragen. Beschreiben Sie das konkrete Objekt, etwa „SSH-Verbindung zum Tokio-Knoten läuft in einen Timeout“, statt nur „Server nicht verfügbar“ zu schreiben.

Cloud Mac
Eine macOS-Entwicklungsumgebung, die per Netzwerk aus der Ferne genutzt wird und grafische Oberfläche, Befehlszeile, Build-Aufträge und Automatisierung unterstützt.
Physischer Knoten
Ein tatsächlich bereitgestelltes Mac-mini-Gerät. Oakmini stellt dedizierte physische Computer bereit und teilt dieselbe Recheninstanz nicht als virtuelle Maschine auf mehrere Nutzer auf.
Dediziert
Während der Auftragslaufzeit nutzt der jeweilige Nutzer die Ressourcen des zugeordneten physischen Knotens. Dadurch bleiben Build-Parallelität, Caches und Toolversionen kontrollierbar.
VNC
Methode für den Fernzugriff auf die grafische macOS-Oberfläche. Bildqualität, Auflösung und lokale Verbindung beeinflussen die Bedienung.
SSH
Verbindungsmethode für sicheren Befehlszeilenzugriff, abhängig von Hostadresse, Port, Benutzername und gültigen Zugangsdaten.
Self-hosted Runner
CI-Ausführungsprogramm in einer vom Nutzer kontrollierten Umgebung. Es übernimmt Aufträge, betritt Arbeitsverzeichnisse und führt Build-Skripte aus.
Build-Cache
Gespeicherte Zwischendaten zur Verringerung wiederholter Downloads oder Kompilierungen. Abweichende Cache-Schlüssel, Abhängigkeitsversionen oder Arbeitsverzeichnisse können Fehler verursachen.
Knotenregion
Region, in der sich der physische Knoten befindet. Verfügbar sind derzeit ausschließlich Singapur, Japan (Tokio), Südkorea (Seoul), Hongkong und der Westen der USA.
REQUEST / 06

Eine direkt reproduzierbare Supportanfrage einreichen

Oakmini bietet nur zwei Kontaktwege: Melden Sie sich in der Konsole an und reichen Sie ein Ticket ein oder senden Sie eine E-Mail an support@oakmini.com. Für bestehende Aufträge, Hoststatus und laufende Prüfungen ist das Ticket vorzuziehen; vor dem Kauf oder ohne Konsolenzugriff können Sie E-Mail verwenden.

Erforderliche Angaben

Problemkontext

  • Auftragskennung:Geben Sie nur eine zur Zuordnung des Auftrags geeignete Kennung an und senden Sie keine Zahlungsdaten.
  • Knotenregion:Singapur, Japan (Tokio), Südkorea (Seoul), Hongkong oder Westen der USA.
  • Zeitpunkt:Geben Sie Datum, genaue Uhrzeit und Zeitzone an und nennen Sie, ob der Fehler reproduzierbar ist.
  • Verbindungs- oder Auftragstyp:SSH, VNC, Xcode-Build, Runner-Auftrag oder Konsolenaktion.
  • Reproduktionsschritte:Nummerieren Sie die Schritte in Ausführungsreihenfolge und nennen Sie erwartetes sowie tatsächliches Ergebnis.
  • Bereinigte Protokolle:Bewahren Sie Originalfehler, Exit-Code und relevanten Kontext auf und entfernen Sie sensible Felder.
Nicht mitsenden

Sensible Inhalte gehören weder in Tickets noch in E-Mails

  • Kontopasswort Für die Fehlerbehebung muss das Passwort nicht bekannt sein.
  • Privater Schlüssel oder Zugriffstoken Sie können Schlüsseltyp oder Fehlermeldung angeben, aber nicht den Schlüsselinhalt.
  • Signaturzertifikat im Original Beschreiben Sie nur Zweck, Gültigkeitsstatus und Fehlermeldung des Zertifikats. Laden Sie keine vollständigen Unterlagen hoch.
  • Zahlungsdaten Geben Sie nur Auftragskennung und Transaktionsstatus an, keine sensiblen Karten- oder Wallet-Daten.
  • Unbereinigte Projektprotokolle Entfernen Sie zuvor Repository-Adressen, Umgebungsvariablen, Kundendaten und interne Pfade.
COPYABLE STRUCTURE

Struktur der Supportanfrage

Füllen Sie jeden Punkt aus; schreiben Sie bei unbekannten Angaben „nicht bestätigt“ und raten Sie nicht. Bei mehreren Versuchen führen Sie diese chronologisch auf.

Betreff: Auftragskennung / Problemkategorie / Knotenregion
Zeitpunkt und Zeitzone:
Verbindungs- oder Auftragstyp:
Erwartetes Ergebnis:
Tatsächliches Ergebnis:
Reproduktionsschritte:
1.
2.
3.
Bereits durchgeführte Prüfungen:
Originalfehler und Exit-Code:
Beschreibung der bereinigten Protokollanhänge:
PORTAL / 07

Hoststatus, Aufträge und Verwaltungsaktionen zentral in der Konsole verwalten

Die Supportseite bietet Prüfabläufe, Befehle und Methoden zur Vorbereitung der erforderlichen Informationen. Bestellung, Verlängerung, Auftragsansicht, Hoststatus und Verwaltung des Cloud Macs erfolgen in der Konsole. Alle Knoten laufen 365 Tage im Jahr normal. Bei Abweichungen zwischen Status und tatsächlichem Verbindungsergebnis notieren Sie den Zeitpunkt und reichen Sie ein Ticket ein.

Konsole: Auftrags- und Hostverwaltung Supportseite: Diagnose und Nachweise Ticket oder E-Mail: persönliche Unterstützung