01Engpässe: Speicher-Spitzen, Slot-Kollisionen und versteckte Mietzyklen
Ohne Messung wirken Pull-Request-Pipelines stabil, bis drei Lastquellen gleichzeitig den Unified Memory beanspruchen.
- Codecov-CLI und Xcode-DerivedData: gleichzeitige Abdeckungsarchive halten große Puffer im RAM, während der Simulator noch aktiv bleibt.
- Sonar-Scanner JVM: Heap-Einstellungen über 3GB riskieren OOM, wenn parallel ein zweiter Gradle- oder SwiftPM-Worker läuft.
- Mietlogik: mehrere aufeinanderfolgende Tagestickets ohne Kalenderdisziplin übersteigen schnell die amortisierte Wochenrate; die Kostentabelle unten liefert eine harte Schwelle.
02Entscheidungsmatrix: Codecov/Sonar vs. M4 16GB und Smoke-Slots
Die folgende Matrix fasst typische Stabilitätsgrenzen zusammen; passen Sie Zellen an Ihre Profiler an, behalten Sie aber die Spalten für Revisionssicherheit bei.
| Workload-Mix | Codecov-Upload | SonarQube-Scan | Parallele Smoke-Slots | Stabilitätsnote | Empfohlene Gegenmaßnahme |
|---|---|---|---|---|---|
| Nur statische Analyse | Seriell nach Build | Heap ≤ 3 GB | 0 (kein Simulator) | Niedriges Risiko | Ein M4-16GB-Knoten reicht für Nightly |
| Analyse plus ein Smoke | Nach Sonar queue | Heap 2–3 GB | 1 Device/Simulator | CPU-Spitzen < 90 s | Codecov-Step hinter Artefakt-Upload |
| Voller PR-Gate | Parallel zu Sonar riskant | Heap > 3 GB kritisch | 2 Simulatoren auf 16 GB | OOM oder Swap | Zweiten Host mieten oder Slots serialisieren |
03Kostenschwellen: Tagesmiete vs. Wochenmiete (Heuristik 2026)
Nutzen Sie die Tabelle als Finanz-Leitplanken; ersetzen Sie Platzhalterpreise durch die aktuellen Beträge auf preise.html und dokumentieren Sie die Quelle im Ticket.
| Szenario | Aktive Stunden / Woche | Tagespakete (Anzahl) | Schwellenregel | Empfohlener Zyklus | Begründung |
|---|---|---|---|---|---|
| Hotfix-Woche | ≤ 18 h | ≤ 3 | Summe Tage < 0,85 × Woche | Tagesmiete | Flexibel kündbar nach Release |
| Integrations-Sprint | 40–52 h | ≥ 5 | Summe Tage > Wochenbasis | Wochenmiete | Fixkosten pro Pipeline-Stunde sinken |
| Parallele QA-Hosts | ≥ 55 h | ≥ 6 kombiniert | Zwei Hosts gleichzeitig | Woche + Slot-Plan | Verhindert Doppelbuchung identischer Slots |
04Parallel-Split: QA-Smoke strikt von statischer Analyse trennen
Legen Sie in GitHub Actions, GitLab CI oder Buildkite getrennte Runner-Tags fest: static-scan darf keinen Simulator starten, während smoke-ui keine Sonar-JVM hochfährt.
05US-West vs. APAC: Knotenwahl anhand RTT und Artefakt-Pfad
Wählen Sie US-West, wenn Apple-Dienste, TestFlight-Uploads oder US-Ostküsten-APIs dominieren und Ihre Messung aus der RTT-Matrix unter der internen SLA bleibt.
APAC-Knoten eignen sich, wenn Entwickler in Singapur, Tokio oder Seoul sitzen und SSH-Latenz wichtiger ist als US-bezogene Artefaktwege; kombinieren Sie die Entscheidung mit dem Codecov-Edge-Upload, damit keine doppelte Transatlantik-Route entsteht.
06Schrittfolge: Profiling, Slot-Budget, Region, Buchung (sechs Punkte)
Die Sequenz ist für Security-Reviews und FinOps direkt übernehmbar.
- Profiler einmalig fahren: instruments oder heaptrack auf dem Miet-Mac ausführen und Spitzen-RSS für Sonar und Codecov dokumentieren.
- Slot-Budget fixieren: maximal zwei parallele Smoke-Jobs auf 16GB; dritter Job explizit auf zweiten Host routen.
- Matrix ausfüllen: Zeilen aus Abschnitt zwei mit Teamgröße und Release-Frequenz abstimmen.
- RTT prüfen: Messwerte mit der verlinkten APAC-vs.-US-West-Analyse vergleichen und Entscheidung im Architektur-Log speichern.
- Mietzyklus wählen: Kostenschwellen-Tabelle anwenden, Angebot auf preise.html gegenrechnen.
- Öffentlich buchen: Konfiguration über kaufen.html abschließen, SSH-Checkliste aus hilfe.html abarbeiten, ohne interne Login-Portale in die Dokumentation zu mischen.
Ergänzend empfiehlt sich nach jedem SonarQube-Lauf eine kontrollierte Cache-Invalidierung für abgeleitete Artefakte, damit Folgejobs keine veralteten AST-Dumps einlesen. Setzen Sie Codecov-Flags so, dass Fork-Builds keine doppelte Abdeckung melden, und wiederholen Sie die Speicherprofilierung bei jedem Xcode-Sprung, weil Compiler und Linker den RSS-Fußabdruck messbar verschieben.
Dokumentieren Sie Abweichungen von dieser Matrix mit Ticket-Referenz, Commit-Hash und Zeitstempel im internen Engineering-Log, damit FinOps und Security dieselben Fakten nutzen und spätere Zertifizierungsaudits ohne Nachforschung bestehen bleiben.
07Zitierfähige Kennzahlen für Einkauf und Engineering
Diese Größen eignen sich als Anhang in Architekturentscheidungen; ersetzen Sie Schwellen nach Messung, nicht nach Bauchgefühl.
Ergänzend gehören in jede Freigabe der Git-SHA, die CI-Runner-Version und der vuzcloud-Knotenname, damit Auditoren die Messkette nachvollziehen.
Öffentliche Buchung für CI-Spitzen auf gemietetem Mac
Prüfen Sie die Produktübersicht, wählen Sie passende Zyklen auf preise.html, lesen Sie SSH- und Setup-Hinweise in hilfe.html und schließen Sie die Bestellung über kaufen.html ab, bevor Sie parallele Smoke-Slots aktivieren.