Guide

Faire tourner une ferme CI Mac sur des Mac mini dédiés

Comment des équipes font tourner 5 à 20 Mac mini dédiés en ferme CI : des runners par projet, un compte, une facture, des ingénieurs qui répondent.

Mis à jour le 2026-09-20

Un Mac mini suffit largement pour les builds iOS d'une équipe. Dès que vous avez trois apps, deux branches qui buildent en parallèle et un release train, il vous faut une ferme, et la façon dont vous la structurez décide si la CI reste rapide ou devient ce dont tout le monde se plaint.

Voici comment des équipes font tourner 5 à 20 Mac dédiés chez MacDuty.

Partez du nombre de builds simultanés, pas de l'effectif

Le seul chiffre qui compte est le nombre de builds qui doivent tourner en même temps pendant votre heure la plus chargée. Ni les développeurs, ni les dépôts : les builds simultanés.

Un ordre de grandeur valable pour la plupart des équipes iOS :

SituationMachines
Une app, une équipe, builds de PR1 à 2
Deux ou trois apps, PR et nightly en parallèle3 à 5
Release train, tests UI sur une matrice d'appareils6 à 10
Agence ou équipe plateforme au service de nombreux produits10 à 20 ou plus

Le temps d'attente dans la file est le signal. Si les builds attendent plus de deux ou trois minutes en pointe, ajoutez une machine. Cela coûte moins cher que l'heure que chaque développeur passe à attendre.

Un runner par machine, ou plusieurs ?

Chaque Mac mini vous donne la machine entière : pas d'hyperviseur, pas de voisin bruyant. Cela vous laisse deux schémas valables.

Un runner par machine

Le plus propre. Un build dispose de tout le CPU, du GPU et de la mémoire. À utiliser pour les builds Xcode et les tests UI, où un build consomme volontiers tous les cœurs que vous lui donnez.

Deux ou trois runners par machine

Convient quand vos jobs sont petits et limités par les E/S : tests unitaires, lint, packaging. Sur un M4 ou un M6 de 32 GB, deux jobs légers en parallèle passent sans problème.

Mélanger les deux est normal : des machines lourdes dédiées aux builds de release, des machines plus légères remplies de jobs rapides.

Répartir la ferme entre équipes et projets

Étiquetez vos machines et laissez le pipeline les cibler. Les découpages utiles :

Par projet

ios-app, sdk, internal-tools. Chaque dépôt cible son propre label, si bien qu'un build cassé sur un produit n'en bloque jamais un autre.

Par usage

Des machines pr rapides et toujours chaudes, des machines release effacées avant chaque build signé.

Par client

Les agences donnent à chaque client ses propres machines, avec ses propres identifiants et certificats. Rien de partagé, rien qui puisse fuiter d'un compte à l'autre.

Le tout sur un seul compte MacDuty, avec une seule facture en fin de mois.

Garder une ferme en bonne santé

Réinstallez entre deux projets, au lieu de ne jamais le faire

Un Mac qui builde depuis un an accumule des versions d'Xcode, des simulateurs et des caches. Quand vous affectez une machine à un nouveau projet, demandez au support une réinstallation propre. Nous ne la faisons qu'avec votre accord, car elle efface le Mac.

Figez votre toolchain

La même version d'Xcode sur toutes les machines d'un pool, mise à jour de façon délibérée. Une ferme où les machines divergent produit des builds qui passent sur un runner et échouent sur un autre.

Surveillez la file, pas le CPU

Les graphiques CPU des machines de build sont toujours alarmants et rarement exploitables. Le temps d'attente dans la file vous dit quand ajouter du matériel.

Gardez une machine de réserve

À dix machines, une machine en panne devrait être une gêne, pas un incident.

Comparaison avec les clouds Mac orchestrés

Les plateformes d'orchestration ajoutent un ordonnancement à la Kubernetes au-dessus de macOS virtualisé, et vous payez cette couche. Elle est vraiment utile si vous avez besoin de VM éphémères lancées pour chaque job à grande échelle.

La plupart des équipes de moins de vingt machines n'en ont pas besoin. Il leur faut quelques Mac dédiés et rapides qui restent allumés, gardent leurs caches chauds et coûtent le même montant chaque mois. C'est ce qu'est une ferme dédiée : des machines physiques entières à prix fixe, avec le cache de build toujours là pour le job suivant au lieu d'être jeté avec la VM.

Vous avez aussi la différence qui se voit à 2 h du matin avant une release : les personnes qui gèrent les baies répondent à l'e-mail.

Mettre en place une ferme

Décrivez-nous la ferme voulue : combien de machines, quels modèles, ce qu'il faut installer dessus. Sur demande, nous les configurons avec votre version d'Xcode, votre agent runner, vos clés et vos certificats, et nous gérons les réinstallations et les changements de parc au fil de l'eau, chaque fois avec votre accord.

En stock aujourd'hui

Ceux-ci sont en baie maintenant. Choisissez-en un, voyez ce qu'il comprend, et créez votre compte seulement au moment de commander.

Vérification des baies

Un Mac mini à vous

Choisissez une configuration. Si elle n'est pas disponible, laissez votre e-mail et nous vous écrivons le jour où elle est en baie.

À l'année : au moins 19 % de moins qu'au mois

  • 16GB

    Mémoire unifiée, 120 GB/s

    Cœurs
    10 CPU, 10 GPU
    Stockage
    Disponible
    En stock
  • Le plus choisi
    24GB

    Mémoire unifiée, 120 GB/s

    Cœurs
    10 CPU, 10 GPU
    Stockage
    Disponible
    En stock
  • 32GB

    Mémoire unifiée, 120 GB/s

    Cœurs
    10 CPU, 10 GPU
    Stockage
    Disponible
    En stock
Visa Mastercard Virement SEPAPrix en EUR, TVA ajoutée au paiement le cas échéant. Un mois minimum, puis résiliation possible n'importe quel mois.

Questions

Puis-je avoir plusieurs Mac mini sur un seul compte MacDuty ?
Oui. Un compte contient autant de machines que nécessaire, avec une seule facture, pour vous ou pour chacune de vos entreprises.
De combien de Mac mini ai-je besoin pour la CI iOS ?
Dimensionnez selon le nombre de builds simultanés en pointe, pas selon la taille de l'équipe. Une à deux machines pour une seule app, trois à cinq pour quelques apps qui buildent en parallèle, six à vingt pour un release train ou une agence.
Puis-je faire tourner plusieurs runners CI sur un Mac mini ?
Oui. La machine est entièrement à vous. Un runner par machine pour les builds Xcode lourds ; deux ou trois pour des jobs légers, limités par les E/S, sur une machine de 32 GB.
Des équipes ou des clients différents peuvent-ils avoir des machines séparées ?
Oui. Les machines sont étiquetées et séparées par projet ou par client, avec leurs propres identifiants, sous un seul compte et une seule facture.
Une ferme de Mac dédiés coûte-t-elle moins cher qu'un cloud Mac orchestré ?
Pour une charge CI régulière, oui : un prix mensuel fixe par machine physique, sans facturation à l'heure et sans couche d'orchestration à payer.

À suivre