.npmrc- und turbo.json-Parameter sowie eine Entscheidungsmatrix für Registry-Spiegel und Worker. Aufbau: Engpässe, Diagnose-Tabelle, fünf H2-Blöcke, sechs Runbook-Schritte, Kennzahlen, FAQ, CTA. Einstiege (ohne Login): Startseite, Blog, npm/Homebrew-Spiegel-Leitfaden, Git/npm-Mirror-Matrix.
Drei Engpässe: Warum pnpm store und Turbo Remote Cache auf Remote-Mac-CI verfehlen
Ohne getrennte Schlüssel und Spiegel-Kette wirken grenzüberschreitende Timeouts wie Flakes — obwohl die Ursache Konfiguration ist.
- 1Geteilter store-dir: Ein globaler pnpm store über Jobs hinweg vergiftet content-addressable Treffer, wenn Node-Majors oder Lockfiles divergieren.
- 2Remote Cache vor lokalem Store: Turborepo lädt Artefakte hoch, während
pnpm installnoch Tarballs über hohe RTT zieht — die Trefferquote täuscht Stabilität vor. - 3Eine Lane für alles: Hohe
network-concurrencyplus vierturbo run-Worker sättigen APFS und lösenETIMEDOUTbei Registry-Zügen aus.
Trefferquote-Diagnose: Kennzahlen für pnpm store und Turborepo auf Remote-Mac-CI
Protokollieren Sie je Job auf Apple-Silicon-Pools dieselben Kennzahlen:
| Kennzahl | Ziel 2026 | Alarm |
|---|---|---|
| pnpm store reuse | > 85 % | < 70 % |
| Turbo remote hit | > 60 % | < 40 % |
| Pull-Minuten | < 8 min | ETIMEDOUT |
pnpm store-dir und Cache-Schlüssel: reproduzierbare Pfade auf Remote-Mac-CI
Scope pro Lane; CI-Key = sha256(pnpm-lock.yaml)+Node-Major+darwin-arm64.
CI cache key: sha256(pnpm-lock.yaml)+node version+os-darwin-arm64. See Git/npm-Cache-Strategie.
Self-Hosted Turborepo Remote Cache: Endpunkt, TLS und turbo.json
TURBO_TOKEN als Secret; TLS am Gateway; Token vierteljährlich rotieren. Auf geteilten Mac-Studio-Pools niemals einen Cache-Endpunkt ohne Signatur freigeben — vergiftete Task-Artefakte wirken wie Flakes in Downstream-Paketen.
| TLS-Check | Feld | Erwartung |
|---|---|---|
| API-URL | remoteCache.apiUrl | nur https:// |
| Signatur | remoteCache.signature | true |
| Smoke | turbo run build --dry-run | Remote erreichbar vor Upload-Storm |
Registry- und Git-Spiegel: Kombinationen für grenzüberschreitende Züge
Stapeln Sie Spiegel nach Artefakt — nicht ein Proxy für alles:
| Artefakt | Primär | Verweis |
|---|---|---|
| npm | npmmirror / Nexus | Spiegel-Leitfaden |
| Git | Bundle-Prefetch | Git-Bundle-Matrix |
| Yarn Berry | gleicher Registry-Pfad | Yarn-Berry-Matrix |
Entscheidungsmatrix: pnpm store, Turborepo remote cache, Registry und Worker
Eine Zeile pro Pool; Worker nur bei grünen Treffern und mehr als 30 GB Platte erhöhen.
| WAN-Profil | pnpm store-dir | Turbo remote | Registry-Spiegel | turbo run Worker |
|---|---|---|---|---|
| Stabil < 80 ms RTT | Per JOB_ID on NVMe | Self-hosted TLS on | Regional npm mirror | 4 workers, --filter scoped |
| Verlustreich 120–200 ms | Warm store, concurrency 2 | Signature on, upload async | npmmirror plus Git bundle | 2 workers, network-concurrency 4 |
| Satellit / flaky | Prefetch store tarball | Read-mostly remote | Corporate proxy required | 1 worker, serialized fetch |
Sechs Runbook-Schritte: Install, Store wärmen, turbo run auf Remote-Mac-CI
- Node pinnen: corepack; pnpm-lock.yaml committen.
- .npmrc: store-dir und registry; pnpm install --frozen-lockfile.
- Cache: Lockfile+Node restore; pnpm store status loggen.
- TURBO_TOKEN: Secret setzen; apiUrl nur HTTPS.
- turbo run: --filter=web... --concurrency=2; später erhöhen.
- Platte: Abbruch unter 30 GB frei; siehe Pull-Stabilitäts-FAQ.
Drei referenzierbare Kennzahlen für Design-Reviews
- pnpm store warm: 4–12 GB pro Lane auf M4-NVMe; Key = Hash von pnpm-lock.yaml.
- Turbo-Payload: 2–80 MB komprimiert; signature:true gegen Poisoning.
- Platten-Schwelle: Install abbrechen unter 30 GB frei auf geteilten Mac-Studio-Pools.
FAQ: Parallelität, --filter und Platten-Schwellen auf Remote-Mac-CI
pnpm-Trefferquote vor Turbo Remote? Ziel über 85 % warm; unter 70 % store-dir oder Node-Major fixen.
Worker auf grenzüberschreitenden Links? Start mit 2; auf 4 bei Hits über 60 % und mehr als 30 GB frei.
TLS Pflicht? Ja — Signatur aktivieren und TURBO_TOKEN rotieren.
--filter zu eng? Nutzen Sie web... für Pull Requests; volles Monorepo nur auf main oder Nightly, sonst sinkt die Remote-Trefferquote künstlich.
Homebrew parallel zu pnpm? Brew-Formeln und npm-Tarballs getrennt spiegeln — siehe Git/npm/Homebrew-Mirror-Matrix.
Fazit: Remote-Mac-CI-Knoten für pnpm und Turborepo mieten
Monorepo-CI braucht eine gemeinsame Schlüssel-Story für pnpm store, Registry-Spiegel und Turborepo remote cache. Lesen Sie den npm-Spiegel-Leitfaden, vergleichen Sie auf der Startseite, und mieten Sie einen NVMe-MacPull-Knoten nahe Ihrem Registry-Spiegel.
Öffentliche Pfade ohne Login: Startseite, Kaufen, Preise, Hilfe, CI-Blog-Liste.
Apple-Silicon-CI-Knoten für Monorepo-Pipelines mit Remote Cache
Pro-Lane pnpm store, TLS Remote Cache und Registry-Spiegel — Preise ohne Login vergleichen.