Oakmini Cloud Mac · Quickstart

Vom Kauf zum ersten Build: Dein Cloud-Mac-Workflow

Dieser Leitfaden richtet sich an Entwickler und CI/CD-Engineers, die Oakmini erstmals nutzen. Wähle einen exklusiven Mac-mini-Physikknoten, verbinde dich per SSH oder VNC, stelle die Apple-Silicon-Toolchain wieder her, führe einen reproduzierbaren Build aus und binde den self-hosted Runner an deine bestehende Pipeline an.

01 Konfiguration wählen Modell, Laufzeit, Knoten, Speicher
02 Mit dem Knoten verbinden SSH oder VNC
03 Workflow prüfen Build, Artefakte, Runner
Szenarien für Cloud-Mac-Entwicklungsumgebungen
oakmini-bootstrap connected
$ uname -m
arm64
$ sw_vers -productVersion
macOS ready
$ system_profiler SPHardwareDataType
Chip: Apple M4
$ xcodebuild -version
Xcode toolchain detected
$ git --version
git ready
✓ environment baseline recorded
Vorbereitung

Vor dem Start sechs Eingaben festlegen

Lege Kompatibilität, Region, Laufzeit und Berechtigungen vorab fest. So vermeidest du, erst nach der Verbindung inkompatible Abhängigkeiten, zu wenig Speicher oder fehlende Repository-Berechtigungen zu entdecken. Speichere die Ergebnisse in der Projekt-Migrationsdokumentation.

Voraussichtlich 10–20 Minuten

Apple-Silicon-Kompatibilität

Prüfe, ob die Abhängigkeit eine arm64 Version bereitstellt. Achte besonders auf Binärtools, Container-Images, native Erweiterungen und ältere Skripte. Kommt das Projekt aus einer Intel-Umgebung, liste zuerst alle Komponenten auf, die ersetzt oder neu kompiliert werden müssen.

file ./your-binaryZielarchitektur bestätigen

Zielregion des Knotens

Wähle zwischen Singapur, Japan (Tokio), Südkorea (Seoul), Hongkong und dem Westen der USA. Für interaktive VNC-Sitzungen empfiehlt sich die Nähe zu den wichtigsten Nutzern; für unbeaufsichtigte Builds zählen Quellcode, Artefaktspeicher und Teamstandorte.

ping / tracerouteVom tatsächlichen Büronetzwerk messen

Laufzeit und Aufgabenfenster

Tage eignen sich für kurze Tests, Wochen für Migrationssprints und Monate oder Quartale für die laufende Entwicklung mit dauerhaftem Runner. Plane die gesamte Zeit für Vorbereitung, Build, Abnahme und Artefaktexport ein – nicht nur die Dauer einer einzelnen Aufgabe.

day / week / month / quarterBestelllaufzeiten nicht mischen

Speicherkapazität

Schätze Repository, Abhängigkeits-Cache, Simulator-Daten, Archive und exportierte Artefakte separat. Lass im Build-Verzeichnis Reserve, damit die Abhängigkeitsauflösung oder Archivierung nicht wegen vollem Speicher abbricht. Definiere für langfristige Aufgaben außerdem eine Cache-Bereinigungsstrategie.

df -hNach der Verbindung erneut prüfen

Tools für den Remotezugriff

Für Aufgaben auf der Kommandozeile benötigst du einen SSH-Client und Schlüssel; für die grafische macOS-Oberfläche einen VNC-Client. Prüfe, ob dein lokales Netzwerk die Verbindung zulässt, und dokumentiere den Einfluss von Firewall, Proxy oder VPN auf den Verbindungsweg.

ssh -VLokalen Client zuerst prüfen

Konto- und Projektberechtigungen

Prüfe die erforderlichen Berechtigungen für Repository-Lesen, Zugriff auf Abhängigkeitsquellen, CI-Runner-Registrierung, Build-Signaturmaterial und Artefakt-Upload. Verwende bevorzugt aufgabenspezifische Zugangsdaten und beschränke automatisierte Abläufe auf die erforderlichen Rechte.

read / build / uploadBerechtigungsumfang einzeln markieren
Erstelle vor dem Start eine Baseline mit Architekturvorgaben, Zielknoten, geplanter Laufzeit, Speicherbudget, Verbindungsart, erforderlichen Berechtigungen und Verantwortlichem für die Abnahme. Nutze diese Dokumentation als Referenz für jeden weiteren Schritt.
Schritt 1 · Kauf

Modell nach Workload wählen, dann Laufzeit und Knoten festlegen

Oak Core und Oak Forge sind exklusive physische Mac-mini-Knoten, keine virtuellen Maschinen. Entscheide anhand von Spitzen-Speicherbedarf, parallelen Builds, Größe des Arbeitssatzes und Artefaktvolumen – nicht anhand vager Leistungsfaktoren.

Konfiguration auswählen
Oak Core
m4-16-256
Persönliche Entwicklung und leichte Builds
ChipM4
Arbeitsspeicher16GB
Speicher256GB SSD

Geeignet für das Debugging einzelner Projekte, Abhängigkeitsprüfungen, Automatisierungsaufgaben mit geringer Parallelität und kurze Migrationsprüfungen. Bei großen Repositories, Simulatoren oder Archiven solltest du beim Kauf mehr Speicher wählen.

$19.5/Tag$52.5/Woche$97.3/Monat$264.7/Quartal
Bestellfeld Auswahl Auswahlkriterium Bestätigung
Abrechnungszeitraum Tag, Woche, Monat, Quartal Deckt Vorbereitung, Ausführung, Abnahme und Artefaktexport ab Anfang und Ende der Bestellung entsprechen dem Plan
Knoten Singapur, Japan (Tokio), Südkorea (Seoul), Hongkong, Westen der USA Tatsächlicher Netzwerkpfad zwischen Nutzern, Quellcode und Artefaktziel Regionsname stimmt mit der Baseline überein
Speichererweiterung +1TB SSD oder +2TB SSD Gesamtvolumen von Repository, Cache, Arbeitsverzeichnis, Archiv und Exportartefakten Reserve für Bereinigung und temporäre Dateien
Parallelschaltungsoption Thunderbolt-5-Parallelschaltung (pro Gerät) Nur für geplante Workflows mit mehreren Knoten auswählen Anzahl und Topologie pro Gerät prüfen
Abrechnungsgrenze:Unterstützt werden ausschließlich USDT-TRC20 sowie Visa / Mastercard / Amex (über Stripe). Alle Bestellungen werden einheitlich in USD abgerechnet. Maßgeblich ist das im Portal angezeigte verfügbare Gateway.
Schritt 2 · Verbindung

Hoststatus prüfen, dann SSH- oder VNC-Sitzung herstellen

Lies Hoststatus, Adresse, Port und Zugangsdatenhinweise direkt aus dem Portal. Rate keine Parameter aus alten Bestellungen oder lokalen Verlaufsdaten. Für Aufgaben in der Shell verwendest du SSH, für die grafische Oberfläche VNC.

SSH-Baseline first-session.sh
ssh -p <PORT> <USER>@<HOST>

hostname
sw_vers
uname -m
system_profiler SPHardwareDataType
df -h
systemsetup -gettimezone
date

Speichere die Ausgabe in der Migrationsdokumentation. Sie sollte mindestens Hostname, macOS-Version,arm64 Architektur, Chipmodell, Speicherkapazität, Zeitzone und aktuelle Uhrzeit bestätigen.

  1. 01

    Portalstatus prüfen

    Der Host muss als verbindungsbereit angezeigt werden. Ändert sich der Status noch, warte auf die Portalaktualisierung und wiederhole Zugangsdaten nicht fortlaufend.

  2. 02

    Verbindungsparameter kopieren

    Prüfe Hostadresse, Port, Benutzername und Verbindungsart einzeln. Schlüsseldateien dürfen nur auf kontrollierten Geräten gespeichert werden.

  3. 03

    Host-Fingerabdruck prüfen

    Notiere den Fingerabdruck bei der ersten SSH-Verbindung. Ändert er sich später unerwartet, brich die Verbindung ab und kläre dies über ein Konsolen-Ticket.

  4. 04

    Grafische Sitzung herstellen

    Verbinde dich per VNC zunächst mit einer für dein Netzwerk geeigneten Auflösung und Bildqualität. Prüfe anschließend Tastaturbelegung, Zwischenablage und Ruhezustand.

IdentitäthostnameEntspricht der Bestellung
Systemsw_versVollständige Version dokumentieren
Hardwarearm64 / M4Ausgewählte Konfiguration prüfen
Ressourcendf -hVerfügbaren Speicher bestätigen
Schritt 3 · Umgebung

Toolchain in fester Reihenfolge wiederherstellen und Versionsliste erstellen

Erstelle zuerst eine überprüfbare Basisumgebung und installiere erst danach die Projektabhängigkeiten. Kopiere nicht einfach das gesamte Benutzerverzeichnis des alten Rechners. Migriere bevorzugt Listen, Konfigurationen und Lockfiles, um Architekturabweichungen und unbrauchbare Caches zu vermeiden.

L1

Homebrew und Kommandozeilen-Grundlagen

Stelle die Softwareliste wieder her und führe die Diagnose aus. Übliche Apple-Silicon-Pfade müssen mit den fest codierten Skriptpfaden übereinstimmen oder entsprechend ersetzt werden.

brew bundle check && brew doctor
L2

Git- und Repository-Konfiguration

Richte Commit-Identität, Zeilenumbruchregeln und die Methode zum Auslesen von Zugangsdaten ein. Klone zunächst ein schreibgeschütztes Test-Repository, um Netzwerk und Berechtigungen zu prüfen, bevor du das Produktionsprojekt bearbeitest.

git config --list --show-origin
L3

Laufzeitumgebungen

Stelle Ruby-, Node.js-, Python- und andere Laufzeitversionen anhand der Lockfiles wieder her. Dokumentiere Versionsmanager, globale Tools und projektbezogene Versionen; verlasse dich nicht auf die Angabe „aktuelle Version“.

ruby -v; node -v; python3 --version
L4

Xcode-Toolchain

Prüfe das aktuell ausgewählte Entwicklerverzeichnis, die Xcode-Version, das SDK und die Kommandozeilentools. Benötigen mehrere Projekte unterschiedliche Versionen, dokumentiere den Wechsel explizit in der Pipeline.

xcode-select -p; xcodebuild -version
L5

Projektabhängigkeiten

Stelle die Abhängigkeiten mit dem Lockfile des Repositorys wieder her und bewahre das vollständige Auflösungsprotokoll auf. Muss eine native Erweiterung kompiliert werden, prüfe, dass die Zielarchitektur arm64ist.

file ./path/to/native-extension
Umgebungsübersicht environment-baseline.txt
date
hostname
sw_vers
uname -m
xcode-select -p
xcodebuild -version
git --version
brew --version
brew list --versions
ruby -v
node -v
python3 --version
df -h

Liste gemeinsam mit dem Projekt pflegen

  • Befehlsausgaben dokumentieren, nicht nur „Installation abgeschlossen“.
  • Lockfiles und Paketmanager-Listen aufbewahren.
  • Manuell zu konfigurierende Pfade und Berechtigungen kennzeichnen.
  • Für den Wechsel der Xcode-Version eindeutige Befehle dokumentieren.
  • Keine Schlüssel, Tokens oder Signaturmaterialien in die Liste aufnehmen.
Erster Build

Zuerst ein minimales Testprojekt ausführen, dann die echte Pipeline

Beim ersten Build geht es nicht um die kürzeste Laufzeit, sondern um die reproduzierbare Prüfung von Abhängigkeitsauflösung, Signaturberechtigungen, Ausgabeverzeichnissen und Logs. Teste zunächst mit einem festen Commit und erweitere danach auf das vollständige Projekt.

01

Feste Eingaben

Hole den angegebenen Commit oder Tag ab und prüfe Submodule, private Abhängigkeiten und große Dateien. Dokumentiere den Commit-Hash, damit sich die Eingaben während des Tests nicht ändern.

git rev-parse HEAD
02

Abhängigkeiten auflösen

Stelle die Abhängigkeiten über das Lockfile wieder her und schreibe Standard- sowie Fehlerausgabe in ein Log. Bei Architekturproblemen zunächst die konkrete Binärdatei ermitteln, statt die gesamte Umgebung wiederholt zu löschen.

command 2>&1 | tee dependency.log
03

Signaturberechtigungen prüfen

Prüfe, ob der Build-Prozess auf benötigtes Signaturmaterial und Konfigurationsdateien zugreifen kann. Automatisierte Konten erhalten nur die für Projekt und Build-Schritte erforderlichen Rechte.

security find-identity -v -p codesigning
04

Ausgabeverzeichnis festlegen

Lege DerivedData, Archive, Testergebnisse und exportierte Artefakte in klar definierten Verzeichnissen ab. Vermeide unkontrollierte temporäre Pfade, die von anderen Aufgaben gemeinsam genutzt werden.

mkdir -p build logs artifacts
05

Vollständige Logs aufbewahren

Logs müssen mindestens Commit, Xcode-Version, SDK, Befehl, Startzeit, Endzeit und Exit-Code enthalten. Sensible Felder vor dem Upload anonymisieren.

echo "$?" > logs/exit-code.txt
06

Einmal wiederholen

Führe den Build mit identischem Commit und identischer Konfiguration erneut aus. So stellst du sicher, dass Abhängigkeiten, Pfade und Berechtigungen nicht von temporären Aktionen der ersten Sitzung abhängen. Beide Ergebnisse müssen nachvollziehbar und vergleichbar sein.

./scripts/verify-build.sh
xcodebuild \
  -project Example.xcodeproj \
  -scheme Example \
  -configuration Release \
  -derivedDataPath ./build/DerivedData \
  build 2>&1 | tee ./logs/first-build.log
Erfolgskriterien

Der Befehl endet mit Exit-Code 0; das Log verweist auf festen Commit und feste Toolchain-Versionen; das Ausgabeverzeichnis enthält die erwarteten Artefakte; eine erneute Ausführung benötigt keine undokumentierten manuellen Schritte.

Ihr Migrationsfahrplan

Migration in Daten-, Toolchain- und CI-Pfad aufteilen

Die drei Pfade können parallel vorbereitet werden, müssen aber über eine gemeinsame Baseline zusammenlaufen: fester Repository-Stand, dokumentierte Toolchain-Versionen, definierte Runner-Tags und anschließend eine reproduzierbare Prüfaufgabe.

DATA

Datenpfad

Migriere nur nachvollziehbare Daten und keine historischen Zustände ohne klare Herkunft.

  1. RepositoryFestgelegten Commit klonen, Submodule und große Dateien prüfen.
  2. CacheNach Paketmanager und Projektversion getrennt ablegen; abgelaufene Caches nicht migrieren.
  3. ArbeitsverzeichnisQuellcode, temporäre Dateien, Logs und finale Artefakte trennen.
  4. Prüfpunktgit status / checksum / df -h
TOOL

Toolchain-Pfad

Tools aus der Liste wiederherstellen und das Ergebnis anhand der Versionsausgabe prüfen.

  1. HomebrewSoftwareliste wiederherstellen und Diagnose ausführen.
  2. LaufzeitRuby-, Node.js-, Python- und weitere Versionen anhand der Projektdateien installieren.
  3. XcodeAuswahlpfad, Version, SDK und Build-Schema prüfen.
  4. Prüfpunktbrew doctor / xcodebuild -version
CI

CI-Anbindung

Sorge dafür, dass die Planungsregeln eindeutig auf diesen exklusiven physischen Knoten verweisen.

  1. Runner registrierenAufgabenspezifische Registrierungsdaten verwenden und das Dienstkonto dokumentieren.
  2. Tags festlegenTags für Region, Architektur, Toolchain und Workload-Typ verwenden.
  3. Prüfung auslösenMinimalen Build ausführen und anonymisierte Logs sowie Testergebnisse hochladen.
  4. Prüfpunktonline / matched / exit 0
MERGE GATE Bedingungen für das Zusammenführen der drei Pfade
  • Repository-Commit ist festgelegt
  • Umgebungsliste ist gespeichert
  • Runner-Tags passen zur Aufgabe
  • Prüfaufgabe endet mit Exit-Code 0
  • Logs und Artefakte lassen sich aus den angegebenen Verzeichnissen exportieren
Sicherheitsabschluss

Zugangsdaten und Berechtigungen vor der Anbindung des Produktions-Repositorys einschränken

Eine lauffähige Umgebung ist nicht automatisch für den dauerhaften Einsatz geeignet. Nach dem ersten Build solltest du sofort anfängliche Zugangsdaten, Schlüsselablage, Repository-Umfang und sensible Informationen in Skripten prüfen.

Baseline für minimale Berechtigungen

  • Anfängliche Zugangsdaten ersetzen und bestätigen, dass alte Zugangsdaten nicht mehr für Verbindungen verwendet werden.
  • Für persönliche Wartung, automatisierte Builds und Artefakt-Uploads unterschiedliche Zugangsdaten verwenden.
  • Private Schlüssel ausschließlich auf kontrollierten Geräten oder in kontrollierten Schlüsselspeichern ablegen und strenge Dateiberechtigungen setzen.
  • Repositoryzugriff auf das tatsächliche Projekt beschränken; keine Rechte für irrelevante Organisationen oder Repositorys vergeben.
  • Signaturmaterial nur den Prozessen und Konten zugänglich machen, die tatsächlich signieren müssen.
  • Keine Passwörter, privaten Schlüssel oder Zahlungsdaten in Skripten, Umgebungslisten, Logs oder Build-Artefakten speichern.
Skriptprüfung

Vor dem Commit nach typischen sensiblen Feldern suchen und Shell-Verlauf, Umgebungsdateien, CI-Konfiguration sowie Logs prüfen. Werden Zugangsdaten im Klartext gefunden, zuerst widerrufen und ersetzen, anschließend die Dateihistorie bereinigen.

SSH-Berechtigungen

Berechtigungen privater Schlüssel einschränken, nicht mehr verwendete öffentliche Schlüssel löschen und für automatisierte Verbindungen eindeutig benannte Schlüssel mit dokumentiertem Zweck konfigurieren.

chmod 600 ~/.ssh/private_key
Log-Anonymisierung

Zeit, Befehle, Versionen, Exit-Codes und Fehler-Stacks aufbewahren; Zugriffstokens, private Schlüssel, originales Signaturmaterial und andere direkt zur Autorisierung nutzbare Informationen entfernen.

Abnahme-Checkliste

Mit sieben Ergebnissen entscheiden, ob der Knoten für alltägliche Aufgaben bereit ist

Die Abnahme muss auf reproduzierbaren Ergebnissen beruhen, nicht darauf, dass „es gerade funktioniert“. Trenne die Sitzung, verbinde dich erneut und führe die wichtigsten Befehle aus einer sauberen Shell erneut aus.

Alle 7 Punkte bestanden
  1. 01

    Remoteverbindung erneut herstellen

    SSH und VNC aktiv trennen und mit den gespeicherten korrekten Parametern erneut verbinden. Host-Fingerabdruck, Benutzername, Port und grafische Sitzung müssen der Dokumentation entsprechen.

    Reproduzierbar
  2. 02

    Abhängigkeiten installieren

    Abhängigkeiten aus dem Lockfile wiederherstellen; Exit-Code 0; Architektur nativer Komponenten korrekt; Installationslog gespeichert und frei von sensiblen Daten.

    Nachvollziehbar
  3. 03

    Projekt-Build

    Build mit festem Commit und festen Toolchain-Versionen abschließen. Ausgabeverzeichnis eindeutig festlegen; die zweite Ausführung darf keine undokumentierten manuellen Schritte benötigen.

    Exit-Code 0
  4. 04

    Artefakte exportieren

    Archive, Testergebnisse und andere Zielartefakte müssen aus dem angegebenen Verzeichnis exportierbar sein. Dateinamen, Version und Prüfmethode müssen der Teamvereinbarung entsprechen.

    Bereitstellbar
  5. 05

    Runner online

    Der self-hosted Runner ist online, seine Tags passen zur Zielaufgabe und er nimmt keine Jobs nicht autorisierter Projekte an.

    Tag-Zuordnung
  6. 06

    Logs aufbewahren

    Umgebungs-Baseline, Abhängigkeits- und Build-Logs, Exit-Code sowie Artefaktpfade sind archiviert; sensible Felder wurden anonymisiert.

    Auffindbar
  7. 07

    Portalverwaltung

    Hoststatus, Bestellinformationen und Verwaltungseinstieg lassen sich im Portal prüfen. Alle Knoten laufen 365 Tage im Jahr durchgehend.

    Verwaltbar
Mit einer reproduzierbaren Baseline starten

Exklusiven Mac mini wählen und deinen ersten Build starten

Öffne das Portal, prüfe die verfügbaren Knoten und wähle Oak Core oder Oak Forge, den Abrechnungszeitraum sowie die Speicheroptionen. Schließe anschließend Verbindung, Toolchain-Wiederherstellung und Abnahme anhand dieser Seite ab.