2026 : pipeline TestFlight sur Mac cloud, Fastlane match, clé App Store Connect et séparation build/upload
Les builds verts qui échouent uniquement à l'upload TestFlight viennent souvent du modèle de secrets et du couplage des jobs, pas de Xcode. Ce guide résume comment isoler certificats et profils avec Fastlane match, utiliser une clé API à périmètre minimal et séparer les rôles Archive et App Store Connect sur un hôte Mac cloud en 2026, avec tableau de symptômes, matrice de décision et cinq étapes opérables.
Sommaire
1. Points de friction
Mélanger sessions Apple ID personnelles et clés CI sur un même serveur complique audits et rotations. Les erreurs d'upload mélangent réseau, droits API, files côté App Store Connect et quotas. Plusieurs archives simultanées saturent le disque et DerivedData, ce qui n'arrive pas sur les jobs de tests légers.
2. Tableau des symptômes
| Symptôme | Cause probable | Vérifier |
|---|---|---|
| Auth juste après archive | rôle clé API, Issuer ID | .p8, issuer_id |
| File bloquée | traitement ASC, egress | IP fixe, retry, région |
| Signature intermittente | profil vs bundle/capacités | branches match |
| Disque plein | jobs parallèles | df -h, plafond concurrence |
3. Matrice
| Axe | Poste dev | Runner hébergé | Mac cloud dédié |
|---|---|---|---|
| Stockage signing | manuel | secrets plateforme | match + utilisateur limité |
| Upload | IDs perso | minutes chères | clé API dédiée |
| Files | non partagé | quotas org | runners étiquetés |
4. Cinq étapes
- Créer une clé API CI, stocker le
.p8hors Git. - Configurer Fastlane match (dépôt chiffré, deploy key lecture seule sur le Mac cloud).
- Séparer build (
.ipa, dSYM) et upload (upload_to_testflight). - Valider sur bac à sable et testeurs internes.
- Retries, alertes, rotation 90 jours, revue PR sur le dépôt match.
HTTPS_PROXY et NO_PROXY avec le guide pare-feu interne.5. Indicateurs
- Garder ~40 Go libres sur le volume système pour archives moyennes ; en dessous de ~12 Go, suspendre les archives ou nettoyer.
- Backoff exponentiel sur les uploads (limites ASC).
- Rotation annuelle des certificats ; test deux semaines avant expiration.
- Limiter le parallélisme des archives lourdes sur nœuds 16 Go RAM.
6. FAQ
Un seul hôte build+upload ? Possible au début, mais séparer jobs et secrets améliore le moindre privilège.
match + signature auto ? Déconseillé sur la même CI : dérive de profils.
Deuxième nœud ? Files trop longues, alertes disque persistantes ou besoin de seconde région.
Les portables seuls ajoutent sommeil et sessions ; les minutes hébergées seules rendent coût et files imprévisibles. Une Mac cloud dédiée stabilise la chaîne Apple et les clés auditables ; le guide API 90 secondes VPSMAC relie SSH à livraison continue.