Für reale Entwicklungs-Workflows

Integrieren Sie einen dedizierten Cloud-Mac in Build, Tests und Produktion

HexVM weist jeder Bestellung einen eigenen physischen Mac-mini-Knoten zu – keine virtuelle Maschine. Ihr Team kann bestehende Repositories, Skripte und Release-Regeln beibehalten und lediglich die Schritte, die macOS und Apple Silicon benötigen, in die Cloud verlagern.

pipeline / macos-arm64 Läuft
01

Code-Repository

Commit als Auslöser
02

Dedizierter Knoten

Umgebung prüfen
03

Xcode

Build und Tests
04

Artefakte

Archivieren und hochladen
Ergebnis Reproduzierbare Umgebung, lückenlos nachvollziehbare Tasks
Nach Workload auswählen

Legen Sie zuerst fest, welche Tasks einen Cloud-Mac benötigen

Nicht jeder Schritt muss migriert werden. Wählen Sie einen Anwendungsfall, prüfen Sie den empfohlenen Ablauf, die benötigten Eingaben und die Abnahmekriterien – und entscheiden Sie anschließend über Knotenzahl und Ausführung.

Ideal für CI

Den macOS-Runner als kontrollierte, feste Ausführungsumgebung einsetzen

Nach einem Commit plant die Repository-Plattform den selbst gehosteten Runner ein. Auf dem dedizierten Knoten werden Abhängigkeiten wiederhergestellt, Tests und Archivierung ausgeführt und Artefakte hochgeladen. Trigger, Parallelisierung und Schlüsselberechtigungen legt Ihr Team selbst fest.

iOS-CI/CD-Workflow ansehen
EingabeRepository, Build-Skript, Zertifikate
Ausführungxcodebuild: Tests und Archivierung
AbnahmeLogs, Testergebnisse, installierbare Artefakte
iOS CI/CD

Fünf Schritte vom Code-Commit bis zum Artefakt-Upload

Ein dedizierter physischer Rechner eignet sich für Pipelines mit fester Xcode-Version, stabilem Cache-Verzeichnis und klar abgegrenzten Rechten. Der Knoten teilt keine Rechenressourcen mit anderen Bestellungen; Repository-Rechte, Signaturmaterial und Bereinigung der Tasks bleiben in der Verantwortung Ihres Teams.

  1. 01

    Code-Commit

    Starten Sie Tasks über Branch, Tag oder Merge Request. Beschränken Sie zunächst auf Repository-Seite, welche Mitglieder den Release-Workflow auslösen dürfen, damit Test-Tasks keinen Zugriff auf Signaturen erhalten.

    Abnahme: Trigger reproduzierbar
  2. 02

    Runner-Zuweisung

    Vergeben Sie eindeutige Labels für den selbst gehosteten Runner, etwa für Chiparchitektur, Xcode-Hauptversion und Zweck. Die Parallelität pro Knoten sollte sich nach Speicherpeak und Schreibvolumen richten.

    Abnahme: Tasks landen nur auf dem Zielknoten
  3. 03

    Build und Tests

    Fixieren Sie Abhängigkeitsversionen und führen Sie Unit-Tests, UI-Tests oder statische Prüfungen aus. Bewahren Sie bei Fehlern Exit-Code, Testbericht und wichtige Logs auf – nicht nur die letzte Ausgabezeile.

    Abnahme: Fehlerursache lokalisierbar
  4. 04

    Signierung und Archivierung

    Entsperren Sie den benötigten Schlüsselbund nur vorübergehend für Release-Tasks und schließen Sie den Zugriff danach sofort. Trennen Sie Zertifikate und Profile nach Projekt und Umgebung; speichern Sie sie nicht dauerhaft im Klartext im Build-Verzeichnis.

    Abnahme: Rechte auf das Minimum begrenzt
  5. 05

    Artefakte hochladen

    Laden Sie Archiv, Testbericht und Symboldateien hoch und protokollieren Sie Commit-Hash, Build-Nummer und Toolchain-Version. Entfernen Sie anschließend sensible Projektdaten aus abgeleiteten Dateien.

    Abnahme: Artefakte nachvollziehbar
Trennen Sie Tests und Releases in unterschiedliche Berechtigungsstufen.

Ein Test-Runner benötigt keinen Zugriff auf Release-Zertifikate. Nur Archivierungs-Tasks geschützter Branches laden Signaturmaterial. So vergrößert selbst ein Skriptfehler in einem normalen Task den Umfang offengelegter Zugangsdaten nicht.

macOS-App-Builds

Gemeinsame Regeln statt gemeinsam genutzter Altlasten

Ein dauerhaft laufender Knoten kann geprüfte Toolchains und Download-Caches bereithalten; jeder Task sollte dennoch ein eigenes Arbeitsverzeichnis verwenden. Caches beschleunigen Builds, dürfen aber keine Voraussetzung für einen erfolgreichen Build sein.

Branch-Isolation

Erstellen Sie Arbeitsverzeichnisse anhand der Task-ID und entfernen Sie temporäre Dateien nach dem Build. Lassen Sie niemals zwei parallele Branches dasselbe Abhängigkeitsverzeichnis oder denselben Ausgabepfad überschreiben.

  • Release-Rechte des Standard-Branches festlegen
  • Bereinigungsfrist für temporäre Branches setzen
  • Commit-Hash und Build-Parameter protokollieren

Dependency-Cache

Der Cache-Schlüssel sollte mindestens die Zusammenfassung des Lockfiles, die Toolchain-Hauptversion und die Architektur enthalten. Bei Problemen muss sich der Cache per Knopfdruck umgehen lassen, damit ein sauberer Build möglich ist.

  • Download-Caches und Build-Artefakte trennen
  • Kapazitätsgrenzen und Bereinigungsreihenfolge festlegen
  • Regelmäßig einen Build ohne Cache ausführen

Release-Artefakte

Speichern Sie Testergebnisse, Unterlagen für die Beglaubigung, Installationspakete und Symboldateien getrennt. Der Artefaktname sollte Version, Build-Nummer und Commit-Kennung enthalten.

  • Nach dem Build die Integrität prüfen
  • Schreibrechte im Release-Verzeichnis begrenzen
  • Version der verwendeten Toolchain aufbewahren
build-check.sh
xcodebuild -version
xcode-select -p
swift --version
git rev-parse --short HEAD
xcodebuild test -scheme "Project" -destination "platform=macOS"

Schreiben Sie die Versionsprüfung an den Anfang jedes Build-Logs. Vergleichen Sie bei Abweichungen zunächst Toolchain-Pfad, Projekt-Commit und Lockfile, bevor Sie den Cache bereinigen.

KI-Experimente

Inferenz-Kompatibilität und fortlaufende Tasks auf Apple Silicon prüfen

Ein Cloud-Mac eignet sich zum Reproduzieren von Experimentumgebungen, Prüfen der Toolchain-Kompatibilität und Ausführen wiederaufnehmbarer Batch-Tasks. Die Hardwarekapazität wird durch die zwei verfügbaren Konfigurationen begrenzt; Ergebnisse sollten nicht auf nicht aufgeführte Spezifikationen übertragen werden.

Eingabe-Baseline festlegen

Speichern Sie Modellversion, Zusammenfassung der Beispiele, Zufalls-Seed und Laufzeitparameter. Verwenden Sie zum Vergleich dieselben Eingaben; ein einzelner Lauf ersetzt keine vollständige Validierung.

Umgebungsversionen protokollieren

Fixieren Sie Runtime, Pakete und Version des Modellkonvertierungstools. Kopieren Sie die Umgebung vor einem Upgrade und führen Sie Regressionstests aus, um Änderungen bei Ausgabe und Ressourcenverbrauch zu prüfen.

Wiederaufnahmepunkte einplanen

Schreiben Sie bei fortlaufenden Tasks Fortschritt und Ergebnisse batchweise. Nach einem Prozessabbruch wird ab dem letzten bestätigten Batch fortgesetzt. Nicht persistenter Speicher darf nicht die einzige Fortschrittsquelle sein.

Ressourcengrenzen beobachten

Protokollieren Sie Speicherpeak, Festplattenwachstum, Laufzeit und fehlgeschlagene Beispiele. Bei Erreichen der Modellgrenzen passen Sie zuerst Batchgröße oder Warteschlangenstrategie an.

Reibungslos aus der lokalen Umgebung migrieren

Migration in drei Phasen: Daten, Toolchain, CI-Anbindung

Zuerst kopieren, dann prüfen, anschließend umstellen. Halten Sie einen lokalen Fallback bereit, bis der Cloud-Knoten Build, Rechte und Artefakte wiederholt erfolgreich abgenommen hat.

01

Phase eins

Notwendige Daten migrieren

Kopieren Sie Projektdaten bevorzugt über Repository, Artefaktspeicher und verschlüsselte Übertragung. Lassen Sie Caches, temporäre Build-Verzeichnisse, alte Logs und nicht mehr verwendete Zugangsdaten außen vor.

Prüfliste

  • Branches und Submodule vollständig
  • Zusammenfassungen großer Dateien stimmen überein
  • Sensible Konfiguration nicht im Repository
  • Daten des alten Knotens bleiben als Fallback erhalten
02

Phase zwei

Toolchain nachbilden

Dokumentieren Sie lokale Xcode-Version, Pfade der Kommandozeilen-Tools, Lockfiles des Paketmanagers, Herkunft der Umgebungsvariablen und Einstiegspunkte der Build-Skripte und bilden Sie sie in der Cloud nach.

Prüfliste

  • Toolversionen und Pfade dokumentiert
  • Abhängigkeiten in sauberer Umgebung wiederherstellbar
  • Testergebnisse entsprechen der Baseline
  • Build funktioniert auch nach Cache-Löschung
03

Phase drei

CI-Planung anbinden

Binden Sie zunächst nicht veröffentlichende Branches an. Prüfen Sie Labels, Timeouts, Logs und Bereinigungsregeln, bevor Sie geschützte Branches sowie Signierungs- und Archivierungs-Tasks freischalten.

Prüfliste

  • Runner-Labels eindeutig
  • Fehlgeschlagene Tasks werden automatisch bereinigt
  • Release-Rechte nur für autorisierte Abläufe
  • Artefakte und Logs nachvollziehbar
Umschaltkriterien

Führen Sie mindestens einen sauberen Build, eine Fehlerwiederherstellung, eine Rechteprüfung und eine Artefakt-Rückverfolgung durch, bevor Sie den Cloud-Knoten als primäre Ausführungsumgebung festlegen.

Zertifikate und Veröffentlichung

Sensible Rechte nur dort einsetzen, wo sie benötigt werden

HexVM stellt dedizierte physische Knoten und Remote-Zugriff bereit. Zertifikatsanträge, Provisioning-Profile, Schlüsselbundrechte, Release-Freigaben und die abschließende Einreichung verwaltet Ihr Team.

Prozessschritt Team Knoten Abnahmeprotokoll
Zertifikate vorbereiten

Zweck der Zertifikate festlegen, Exportpasswörter verwahren und zugriffsberechtigte Mitglieder begrenzen.

Benötigtes Material in einer kontrollierten Sitzung importieren; den Schlüsselbund nicht dauerhaft freigeben.

Zertifikatsname, Gültigkeit, autorisierte Mitglieder.

Provisioning-Profile

Profile nach App-ID und Release-Umgebung verwalten und ungültige Versionen entfernen.

Zuordnung vor dem Build prüfen und die Archivierung bei Fehlern stoppen.

App-ID, Teamdaten, Dateiversion.

Signieren und archivieren

Geschützte Branches und Release-Tasks freigeben sowie Build-Parameter kontrollieren.

Archivierung, Export und Integritätsprüfung ausführen und einen eindeutigen Exit-Code ausgeben.

Commit-Hash, Build-Nummer, Archivzusammenfassung.

Einreichen und veröffentlichen

Versionsdaten, Datenschutzangaben, Screenshots und Veröffentlichungsumfang prüfen.

Geprüfte Artefakte und Upload-Umgebung vorbereiten.

Einreichende Person, Artefaktversion, Ergebnis.

Schlüsselbundrechte

Nur während der Signierung entsperren und nach Abschluss sofort schließen. Verwenden Sie für verschiedene Projekte oder Umgebungen getrennte Zugriffsregeln, damit Test-Tasks keine Release-Rechte erben.

Archivprüfung

Prüfen Sie App-ID, Signaturidentität, Versionsnummer, Build-Nummer und Exportergebnis. Bei unerwarteten Werten den Upload stoppen und Fehler nicht manuell übergehen.

Vor der Freigabe des Knotens

Runner-Registrierung widerrufen, Zertifikate und Profile entfernen, Repository-Zugangsdaten sowie sensible Felder aus Build-Verzeichnissen und Logs löschen und die Übertragung aller benötigten Artefakte bestätigen.

Vor dem Start

Checkliste für Ihr Team

Für alle sechs Punkte sollten Verantwortliche und Abnahmeprotokolle feststehen. Was weiterhin nur mündlich vereinbart ist, kann bei Build-Fehlern, Personalwechseln oder der Freigabe eines Knotens zum Risiko werden.

01

Region auswählen

Wählen Sie die Region nach Entwicklerstandort, Datenpfad des Repositories und Upload-Richtung der Artefakte. Verfügbar sind derzeit Singapur, Japan (Tokio), Südkorea (Seoul), Hongkong, US-Ostküste und US-Westküste – insgesamt 6 Regionen.

  • Verbindungsqualität des Teams zum Knoten
  • Wichtigste Datenübertragungsrichtungen dokumentieren
  • Region mit internen Anforderungen abgleichen
02

Modell auswählen

Führen Sie zunächst einen vollständigen Build mit dem realen Projekt aus. Wählen Sie anschließend je nach Speicherpeak, Festplattenwachstum und Parallelität zwischen HexVM M4 und HexVM M4 Pro.

  • Dauer eines sauberen Builds dokumentieren
  • Speicherbedarf von Abhängigkeiten und Artefakten prüfen
  • Kapazität nicht anhand eines einzelnen inkrementellen Builds bewerten
03

Zugriffsrechte

Trennen Sie Knotenverwaltung, tägliche Entwicklung, CI-Ausführung und Release-Rechte. Bei Team- oder Rollenwechseln müssen Schlüssel und Repository-Zugriffe sofort entzogen werden.

  • Liste autorisierter Mitglieder führen
  • Test- und Release-Rechte trennen
  • Prozess für den Zugangsdatenwechsel festlegen
04

Repository anbinden

Verwenden Sie eingeschränkte Deployment-Zugangsdaten oder Runner-Berechtigungen und geben Sie nur die für den Task erforderlichen Repositories frei. Skripte dürfen Tokens, private Schlüssel oder vollständige Zugangsdaten nicht in Logs schreiben.

  • Repository- und Branch-Umfang begrenzen
  • Sensible Ausgaben maskieren
  • Verhalten nach dem Widerruf von Zugangsdaten prüfen
05

Überwachung und Wiederherstellung

Protokollieren Sie Task-Warteschlange, Erfolgsquote, Fehlerursachen, Speicherbelegung und Laufzeit. Fortlaufende Tasks benötigen Wiederaufnahmepunkte, damit fehlgeschlagene Builds sicher erneut gestartet werden können.

  • Empfänger für Fehlermeldungen festlegen
  • Grenzwert für Speicherkapazität setzen
  • Wiederherstellung regelmäßig testen
06

Kosten auswerten

Erfassen Sie pro Knoten effektive Build-Zeit, Wartezeit, Leerlauf und Cache-Effekt. Kurzfristige Tasks können tage- oder wochenweise geplant werden; für kontinuierliche Pipelines lassen sich Monats- und Quartalszeiträume vergleichen.

  • Ausführungs- und Wartezeit unterscheiden
  • Aufwand durch fehlgeschlagene Wiederholungen auswerten
  • Knotennutzung den Projekten zuordnen
Führen Sie zuerst einen Baseline-Task aus, bevor Sie die Langzeitkonfiguration festlegen.

Verwenden Sie ein echtes Repository für sauberen und inkrementellen Build, Tests, Archivierung und Artefakt-Upload. Wenn Sie Unterstützung bei der Analyse benötigen, halten Sie Knoten-ID, Region, Zeitpunkt, Reproduktionsschritte und bereinigte Logs bereit.

Bereit für den Einsatz

Wählen Sie den dedizierten Mac für Ihre Pipeline

Vergleichen Sie die zwei verfügbaren Modelle und Mietlaufzeiten. Nach Auswahl von Region und Zusatzoptionen können Sie direkt bestellen. Alle Preise werden in US-Dollar abgerechnet; die tatsächliche Verfügbarkeit wird in der Konsole in Echtzeit angezeigt.