Confiez vos tâches au nœud
Quatre workflows, un même nœud dédié
Voici des workflows concrets, pas des témoignages clients ni des promesses de benchmark. Les commandes montrent comment lancer les tâches. Avant de les exécuter, préparez les dépendances du projet, les éléments de signature et les licences logicielles nécessaires.
Développeur indépendant
Codez en SwiftUI le jour, compilez votre app la nuit
Après chaque commit, launchd ou un runner récupère la révision choisie, installe les dépendances, lance les tests, puis archive et exporte l’app. Utilisez Fastlane pour l’envoyer sur TestFlight. Le lendemain, consultez les journaux de build et les résultats des tests avant de décider si vous la distribuez aux testeurs.
Verrouillez le Scheme, la configuration et les paramètres d’export, puis stockez les éléments de signature dans le trousseau du nœud. Vérifiez d’abord la signature dans l’interface graphique, puis automatisez la tâche.
xcodebuild -scheme MyApp archive -archivePath build/MyApp.xcarchive
Équipe CI
Déclenchez le build à chaque fusion de PR
Enregistrez un runner GitLab ou GitHub self-hosted sur le nœud et répartissez les tâches selon le projet, la toolchain et les tags d’environnement. Après validation d’une pull request, lancez Fastlane gym pour exporter les artefacts signés de l’app principale et de ses extensions. Conservez les journaux pour faciliter les relances après échec.
Un nœud dédié évite la concurrence des ressources avec d’autres clients, mais pas celle des tâches de votre équipe. Réglez le parallélisme du runner et isolez les répertoires de travail. Gérez les changements de certificats, de version Xcode et le nettoyage du cache avec des scripts versionnés.
fastlane gym --scheme MyApp --export_method app-store
Expérimentation IA
Ajustez de petits modèles avec 64GB de mémoire unifiée
Chargez un modèle avec MLX, préparez les données et lancez un fine-tuning LoRA. Selon les capacités du modèle, convertissez-le ensuite au format Core ML avec coremltools. Intégrez le résultat à votre projet iOS et vérifiez la compatibilité des opérations, la mémoire utilisée à l’inférence et la qualité des sorties.
La mémoire unifiée est partagée entre le modèle, l’état d’entraînement et macOS : 64GB ne sont donc pas entièrement disponibles pour le modèle. Commencez avec un petit lot et augmentez ensuite la longueur du contexte. Évitez de lancer l’entraînement et la compilation en même temps par défaut.
python -m mlx_lm.lora --model ./base --train --data ./data
Audio et vidéo
Préparez vos rendus à distance et transcodez la nuit
Connectez-vous à l’interface macOS via VNC et programmez vos rendus dans Logic ou Final Cut, sous réserve de disposer des licences requises. Pour les tâches en ligne de commande, utilisez l’encodage VideoToolbox, puis récupérez les fichiers via SSH ou rsync.
Envoyez d’abord un extrait représentatif pour vérifier les plugins, polices, codecs et paramètres d’export. Le transfert des fichiers volumineux dépend de votre débit local et du routage réseau. Il est conseillé de séparer les transferts par lots des rendus.
ffmpeg -i in.mov -c:v hevc_videotoolbox -b:v 12M out.mp4