Engineering-Support

Ermitteln Sie zuerst, an welcher Stelle der Fehler auftritt – erst dann eskalieren

VMRunner stellt dedizierte physische Apple-Silicon-Knoten bereit. Ob Verbindungsfehler, Build-Probleme, unterbrochene Signierung, Speicherbedarf, Knotenwechsel oder Rechnungsprüfung: Beginnen Sie mit reproduzierbaren Informationen statt mit Neustarts oder wiederholten Tickets.

  • Verbindungsfehler
  • Build-Probleme
  • Speicherbedarf
  • Knotenberatung
  • Rechnungsprüfung
DIAGNOSE STARTEN

Build-Diagnoseboard

Knoten antwortet
  1. 01
    Verbindungsaufbau Knotenadresse, Port, Hostschlüssel und Zugangsdaten prüfen
    PRÜFEN
  2. 02
    Umgebungsbasis Systemzeit, freien Speicher und Tool-Versionen erfassen
    PRÜFEN
  3. 03
    Aufgabe reproduzieren Mit demselben Branch, Befehl und denselben Parametern erneut ausführen
    AUSFÜHREN
  4. 04
    Logs eingrenzen Ersten Fehler sowie relevante Ausgaben davor und danach behalten
    ERFASSEN
  5. 05
    Eskalieren Bestellkennung, Knoten, Zeitpunkt und erwartetes Ergebnis angeben
    TICKET
Physischer Knoten 1 Bestellung = 1 dedizierter Knoten
Erste Prüfreihenfolge

Sechs Basisprüfungen sind schneller als das vollständige Zurücksetzen der Umgebung

Bewahren Sie zuerst den aktuellen Zustand und grenzen Sie die Ursache dann Schritt für Schritt ein. Dokumentieren Sie jedes Ergebnis, damit Sie nicht zwischen Verbindung, System und Projektkonfiguration raten müssen.

  1. 01

    Zugangsdaten prüfen

    Bestätigen Sie, dass Knotenadresse, Benutzername, Port und Schlüsseldatei zur aktuellen Bestellung gehören. Bei geändertem Hostschlüssel zuerst die Knotendaten prüfen – die Validierung nicht einfach ignorieren.

    ssh -v vmrunner-node
  2. 02

    Netzwerk-Erreichbarkeit prüfen

    Prüfen Sie DNS, Zielport und lokales Netzwerk jeweils separat. Testen Sie nach einem Netzwerkwechsel erneut, um lokalen Ausgang, Routing und Knotenverbindung zu unterscheiden.

    nc -vz node.example 22
  3. 03

    Freien Speicher prüfen

    Prüfen Sie Systemvolume, Arbeitsverzeichnis und Cache-Verzeichnisse gemeinsam. Ein Build kann auch bei noch nicht vollständig belegtem Speicher scheitern; wenig freier Speicher kann das Entpacken von Abhängigkeiten oder das Archivieren stören.

    df -h
  4. 04

    Systemzeit prüfen

    Zeitabweichungen beeinflussen Zertifikatsprüfung, Token-Gültigkeit und Downloads von Abhängigkeiten. Erfassen Sie Zeitzone und aktuelle Zeit und vergleichen Sie sie mit den Zeitstempeln im Aufgabenlog.

    date && systemsetup -gettimezone
  5. 05

    Entwicklertools versionieren

    Dokumentieren Sie die Versionen von Xcode, Command Line Tools, Ruby, Fastlane und dem Paketmanager. Aktualisieren Sie während der Reproduktion nicht mehrere Komponenten gleichzeitig.

    xcodebuild -version
  6. 06

    Ersten aussagekräftigen Fehler behalten

    Suchen Sie ab dem Aufgabenbeginn nach dem ersten Fehler und schneiden Sie nicht nur die letzte Zeile aus. Der zuletzt angezeigte Fehler ist oft nur die Folge eines früheren Problems.

    tee build.log
Erneuter Test per Kommandozeile

Mit derselben Befehlsgruppe vergleichbare Ausgaben erzeugen

Die folgenden Befehle decken SSH-Verbindung, Xcode-Build und Fastlane ab. Kopieren Sie sie und passen Sie scheme und lane an das Projekt an. Fügen Sie öffentlichen Tickets keine Schlüssel oder vollständigen Token bei.

build-session · ssh / xcodebuild / fastlane
Verbindung und Umgebungsbasis
ssh -v vmrunner-node
sw_vers
date
df -h
xcode-select -p
xcodebuild -version
Xcode-Build reproduzieren
set -o pipefail
xcodebuild \
  -workspace App.xcworkspace \
  -scheme App \
  -configuration Release \
  clean build | tee xcodebuild.log
Fastlane-Ausgabeauszug
bundle exec fastlane beta --verbose | tee fastlane.log
grep -n -E "error:|failed|Exit status" fastlane.log
Xcode und Signierung

Zuerst zwischen Build-, Archiv- und Signierungsfehler unterscheiden

Eine Pipeline kann nacheinander Abhängigkeiten auflösen, kompilieren, testen, archivieren und exportieren. Ermitteln Sie zuerst die fehlerhafte Phase und prüfen Sie dann die zugehörige Konfiguration.

Zertifikat

Zertifikatsgültigkeit

Prüfen Sie, ob das Zertifikat im aktuellen Schlüsselbund sichtbar und gültig ist und ob der private Schlüssel korrekt zugeordnet werden kann. Der Zertifikatsname allein belegt keine vollständige Signaturkette.

security find-identity -v -p codesigning
Schlüsselbund

Schlüsselbund entsperren

Nicht interaktive Aufgaben müssen den angegebenen Schlüsselbund in der Runner-Sitzung ausdrücklich entsperren; außerdem muss das Signiertool auf den privaten Schlüssel zugreifen können. Passwörter gehören weder ins Repository noch in Build-Logs.

security list-keychains -d user
Bereitstellungsprofil

Bereitstellungsprofil abgleichen

Prüfen Sie Bundle Identifier, Zertifikatstyp, Zielumgebung und Gültigkeitsbereich des Bereitstellungsprofils. Automatische und manuelle Signierung nicht im selben Target vermischen.

xcodebuild -showBuildSettings
Cache

DerivedData bereinigen

Löschen Sie DerivedData nur, wenn der Fehler auf alte Indizes, Modul-Caches oder Zwischenprodukte hindeutet. Dokumentieren Sie zuerst Pfad und Symptome, damit ein stabil reproduzierbarer Fehler nicht scheinbar zufällig wird.

xcodebuild clean
Auch den Pfad der Kommandozeilentools dokumentieren

Gleichzeitig ausführen xcode-select -p und xcrun xcodebuild -version. Wenn grafische Oberfläche und Runner unterschiedliche Xcode-Pfade verwenden, kann dasselbe Projekt zu unterschiedlichen Ergebnissen führen.

CI/CD-Fehleranalyse

Ein startender Runner bedeutet nicht, dass die Aufgabenumgebung identisch ist

CI-Probleme entstehen häufig durch Kontoberechtigungen, den Gültigkeitsbereich von Umgebungsvariablen, Cache-Zuordnung, parallele Zugriffe oder den Rückgabepfad von Artefakten. Einzelnes Prüfen ist wirksamer als wiederholtes Registrieren des Runners.

AUTH

Runner-Berechtigungen

Bestätigen Sie, dass das Ausführungskonto das Repository lesen, in das Arbeitsverzeichnis schreiben, auf den benötigten Schlüsselbund zugreifen und Build-Skripte ausführen kann. Vergleichen Sie interaktives Terminal und Dienstprozess hinsichtlich ihrer Benutzeridentität.

whoami
ENV

Umgebungsvariablen

Prüfen Sie, ob die Variablen in den aktuellen Job injiziert werden und nicht nur in der Login-Shell vorhanden sind. Geben Sie ausschließlich eine Liste der Variablennamen aus, niemals deren Werte.

env
CACHE

Cache-Verzeichnisse

Prüfen Sie, ob Abhängigkeits-Cache, DerivedData und Build-Verzeichnis dem aktuellen Konto gehören. Der Cache-Schlüssel sollte Tool-Version und Lockfile-Prüfsumme enthalten, um versionsübergreifende Wiederverwendung zu vermeiden.

du -sh
JOBS

Parallele Aufgaben

Stellen Sie sicher, dass mehrere Aufgaben weder Arbeitsverzeichnis, Simulator, Ausgabedateinamen noch Schlüsselbundstatus gemeinsam verwenden. Zuerst mit einer Aufgabe testen und die Parallelität anschließend schrittweise erhöhen.

ps aux
ARTIFACT

Build-Artefakte zurückgeben

Prüfen Sie den tatsächlichen Archivpfad, den Exit-Code des Upload-Schritts, Dateiberechtigungen und Aufbewahrungsregeln. Wenn der Build erfolgreich ist, aber kein Artefakt vorliegt, prüfen Sie zuerst, ob das Skript den Pfad überschreibt.

find
Remote-Sitzung

Bildruckeln und Rechenleistung des Knotens getrennt bewerten

Das Remote-Bild hängt von lokalem Netzwerk, Kodierung, Auflösung und Sitzungsstatus ab. Prüfen Sie zuerst, ob Kommandozeilenaufgaben normal laufen, und beurteilen Sie anschließend, ob das Problem nur in der grafischen Sitzung auftritt.

01 · Latenz

Lokale Netzwerkbasis erfassen

Erfassen Sie Round-Trip-Latenz, Jitter und Paketverlust über kabelgebundene und drahtlose Netzwerke. Testen Sie nach dem Beenden bandbreitenintensiver Synchronisation erneut, damit lokale Überlastung nicht als Knotenfehler erscheint.

02 · Bild

Auflösung reduzieren und vergleichen

Reduzieren Sie zunächst Auflösung und Bildwiederholungsanforderungen und beobachten Sie die Eingabeverzögerung. Bleibt die Kommandozeilen-Buildzeit stabil, während das Bild ruckelt, prüfen Sie vorrangig die Remote-Sitzungsverbindung.

03 · Eingabe

Tastaturbelegung prüfen

Prüfen Sie lokales Tastaturlayout, Zuordnung von Sondertasten und Eingabemethodenstatus auf dem Remote-System. Testen Sie bei fehlerhaften Tastenkürzeln zunächst in einem Nur-Text-Editor statt direkt im Entwicklungstool.

04 · Sitzung

Sperrung und Wiederverbindung prüfen

Prüfen Sie, ob die ursprüngliche Sitzung noch gesperrt oder getrennt ist. Trennen Sie die alte Sitzung sicher und verbinden Sie sich anschließend neu. Erstellen Sie nicht mehrere grafische Sitzungen auf demselben Desktop.

Support-Anfrage senden

Alle sechs Informationsarten auf einmal – nur so kann das Ticket direkt geprüft werden

Für eine Support-Anfrage benötigen Sie keinen privaten Schlüssel. Geben Sie Informationen an, die Bestellung, Zeitpunkt und reproduzierten Fehler zuordnen lassen, und bereinigen Sie sie vor dem Absenden.

Bestellkennung
In der Konsole prüfbare Bestellnummer
Knotenstandort
Singapur, Japan (Tokio), Südkorea (Seoul) oder Hongkong
Zeitpunkt
Fehlerbeginn und letzter Reproduktionszeitpunkt einschließlich Zeitzone
Reproduktionsschritte
Ab welchem Befehl oder Vorgang? Die wichtigen Schritte der Reihe nach aufführen
Log-Auszug
Erster Fehler, Exit-Code sowie relevante Ausgaben davor und danach, bereinigt
Erwartetes Ergebnis
Angeben, welches Build-, Signierungs-, Sitzungs- oder Rechnungsergebnis erwartet wurde
Eskalation

Wann Sie die Selbstprüfung beenden und den Support kontaktieren sollten

Verbindungseinstieg dauerhaft nicht erreichbar

Die Zugangsdaten der aktuellen Bestellung wurden geprüft und über ein anderes Netzwerk erneut getestet, doch der Zielport lässt sich weiterhin nicht verbinden.

Dieselbe Aufgabe zuverlässig reproduzierbar

Codeversion, Befehle und Tool-Versionen sind fixiert, der Fehler tritt jedoch weiterhin im selben Schritt auf.

Änderungen bei Knoten oder Speicherbedarf

Knotenauswahl, Speichererweiterung oder Ressourcengrenzen der Aufgabe müssen geprüft werden und die vorhandenen Bestelldaten reichen dafür nicht aus.

Rechnungsdaten nicht zuordenbar

Bestellkennung, Abrechnungszeitraum oder Zahlungsdaten stimmen nicht mit der Konsolenanzeige überein und müssen manuell geprüft werden.

Startklar

Neuen dedizierten physischen Knoten benötigt? Modell und Laufzeit direkt auswählen

Alle drei Apple-Silicon-Konfigurationen sind tage-, wochen-, monats- oder quartalsweise mietbar. Zur Auswahl stehen Rechenzentren in Singapur, Japan (Tokio), Südkorea (Seoul) und Hongkong; die tatsächliche Verfügbarkeit zeigt die Konsole in Echtzeit.