La documentation Apple indique que xcode-select permet de choisir le répertoire développeur actif sur un Mac ; la sélection de cet outil doit donc être vérifiée sur l’agent lui-même (réglages des outils en ligne de commande). Le déploiement d’un agent de compilation TeamCity sur macOS n’est terminé que lorsque trois contrôles réussissent : connexion au serveur, compatibilité des outils et compilation représentative. Configurez d’abord l’agent, puis vérifiez son état et sa capacité à exécuter les tâches réelles.
Symptôme → solution rapide : agent installé mais absent de la file d’exécution ? Vérifiez l’adresse du serveur, l’autorisation et les exigences de compatibilité avant de modifier le projet.
Critère de mise en service : ne déclarez pas le Mac opérationnel avant d’avoir exécuté un travail Xcode dans le mode de démarrage prévu.
Ce guide s’adresse aux responsables IT qui définissent la capacité de compilation macOS, aux administrateurs TeamCity qui gèrent les agents et les règles d’affectation, ainsi qu’aux ingénieurs plateforme qui valident les chaînes Xcode.
Lire les états de l’agent avant de modifier la configuration
Une installation locale réussie ne prouve pas que le serveur a reçu l’agent. Distinguez les symptômes : un agent qui ne se connecte pas indique un problème possible d’adresse, de réseau ou de configuration ; un agent connecté mais non autorisé attend une décision dans TeamCity ; un agent disponible qui ne reçoit aucun travail peut ne pas répondre aux exigences du projet. Les instructions officielles sur l’installation et l’autorisation des agents décrivent ces états côté plateforme.
| État observé | Vérification à effectuer | Action de diagnostic |
|---|---|---|
| L’agent n’apparaît pas dans TeamCity | Adresse du serveur, accès réseau, paramètres locaux et journaux de démarrage | Vérifiez les paramètres de connexion, puis cherchez dans les journaux l’erreur réellement renvoyée |
| L’agent est connecté mais non autorisé | État d’autorisation dans l’interface d’administration | Autorisez-le selon la politique de l’équipe et notez le changement d’état |
| L’agent est autorisé mais inactif ou désactivé | État d’activation et disponibilité affichée dans TeamCity | Réactivez-le seulement après avoir confirmé que l’hôte peut accepter des tâches |
| L’agent est disponible mais ignoré par une compilation | Compatibilité entre les exigences du projet et les paramètres de l’agent | Comparez les exigences avec les outils et capacités annoncés par le Mac |
| Le travail échoue au lancement de Xcode | Outil sélectionné, chemin, session utilisateur et journaux de compilation | Vérifiez l’environnement réellement utilisé par l’étape, puis relancez une compilation représentative |
Cette lecture par état évite de traiter une absence d’autorisation comme une panne réseau, ou une incompatibilité Xcode comme un défaut d’installation. Conservez l’état observé et l’heure du contrôle : cette trace facilite la comparaison après chaque modification.
À retenir : l’autorisation accorde à l’agent le droit de participer à l’exécution des tâches dans TeamCity ; elle ne garantit ni la présence de Xcode ni la compatibilité avec un projet donné.
Première étape : installer l’agent et confirmer sa connexion
Téléchargez l’agent depuis le serveur ou suivez la procédure correspondant à votre installation TeamCity. Les instructions d’installation de l’agent et la configuration de ses paramètres sont les références à consulter pour les fichiers et options proposés par la version utilisée. Ne recopiez pas aveuglément une configuration d’un autre serveur : les adresses, méthodes d’authentification et répertoires dépendent de l’environnement déployé.
Procédez dans cet ordre :
- Préparez le Mac. Confirmez que le système, le compte d’exécution et les prérequis logiciels correspondent aux consignes de la version d’agent retenue. Notez le compte qui lancera les compilations ; l’environnement de ce compte peut différer de celui d’un administrateur.
- Installez le paquet de l’agent. Utilisez les instructions TeamCity correspondant à votre mode de déploiement. Vérifiez que les fichiers sont accessibles au compte prévu et que celui-ci peut écrire dans les répertoires utilisés par l’agent.
- Configurez la connexion. Renseignez l’adresse du serveur et le nom distinctif de l’agent dans les paramètres prévus par la documentation. Si votre installation utilise un mécanisme d’authentification, vérifiez sa configuration sans exposer de secret dans les journaux ou les documents d’exploitation.
- Lancez l’agent manuellement pour le premier contrôle. Cette étape permet de distinguer une erreur de paramétrage d’un problème lié au démarrage automatique. Consultez les journaux de l’agent et recherchez une connexion confirmée, plutôt que de vous fier uniquement à la présence du processus.
- Vérifiez l’interface TeamCity. Confirmez que l’agent apparaît, puis relevez s’il est connecté, autorisé, activé et disponible. Si une autorisation est requise, effectuez-la selon les règles de l’entreprise et notez le nouvel état.
Si l’agent n’apparaît pas, comparez l’adresse configurée à celle du serveur effectivement accessible depuis le Mac, puis examinez les journaux et la connectivité réseau. Si l’agent apparaît mais reste en attente d’autorisation, ne réinstallez pas le paquet avant d’avoir traité cet état dans l’interface.
Un agent en ligne ne signifie pas qu’il peut exécuter le projet
TeamCity affecte les tâches selon les exigences déclarées par les configurations de compilation et les propriétés annoncées par les agents. La documentation sur les exigences des agents explique comment ces conditions influencent la compatibilité. Les paramètres prédéfinis des agents aident à examiner les informations disponibles pour le routage.
Dans l’interface, ouvrez les détails de compatibilité de la configuration qui ne démarre pas. Repérez chaque exigence non satisfaite et vérifiez son origine : exigence ajoutée explicitement au projet, outil absent du Mac, chemin différent de celui attendu, ou propriété qui n’est pas annoncée par l’agent. Corrigez ensuite le point précis ; évitez d’assouplir toutes les exigences pour forcer l’affectation, car le travail pourrait alors atteindre un hôte incapable de produire le résultat attendu.
Après une correction, relancez une compilation et vérifiez quel agent l’a réellement prise en charge. Une tâche en file d’attente qui démarre après la modification constitue un indice utile, mais le résultat de compilation et les outils employés doivent encore être contrôlés.
Vérifier Xcode et le résultat de compilation sur le Mac
Une compilation iOS ou macOS peut être routée vers un agent compatible sans utiliser le Xcode attendu. Contrôlez le Mac, la configuration TeamCity et les journaux de la tâche. La documentation TeamCity sur les étapes de compilation Xcode décrit les options de configuration propres à cette intégration. Apple précise le rôle de xcode-select dans la sélection du répertoire développeur actif et documente les commandes disponibles dans sa référence des outils en ligne de commande Xcode.
| Contrôle | Où vérifier | Résultat attendu |
|---|---|---|
| Xcode installé sur le Mac | Outils présents sur l’hôte et paramètres du compte d’exécution | Le projet peut accéder à la version prévue par l’équipe |
| Répertoire développeur actif | Sélection opérée avec xcode-select |
Le chemin actif correspond à l’environnement demandé |
| Étape TeamCity | Configuration du projet et détails de la compilation | Le type d’action et les options sont ceux prévus pour le projet |
| Agent réellement affecté | Résumé et journaux de la compilation | Le Mac attendu a exécuté le travail |
| Produit final | Résultat conservé par la compilation ou inspection prévue par l’équipe | Le résultat correspond à la cible et au processus de livraison attendus |
Les instructions Apple relatives à l’exécution sur simulateur ou appareil physique rappellent également que le mode d’exécution doit correspondre à la cible du test. Une compilation qui passe ne prouve pas à elle seule qu’un flux nécessitant un simulateur, un appareil ou une session graphique fonctionnera dans les mêmes conditions. Ajoutez au test l’action représentative de votre livraison, puis vérifiez le résultat et les journaux.
Automatiser le démarrage selon la session réellement utilisée
Un lancement manuel réussi ne garantit pas que l’agent sera prêt après un redémarrage. Le démarrage automatique doit être testé dans le contexte prévu : compte utilisateur, permissions, environnement de session et outils accessibles. Les instructions TeamCity sur le démarrage d’un agent doivent être rapprochées des contraintes de votre version et de votre politique macOS. Évitez de supposer qu’un service lancé hors session convient à toute tâche de compilation.
Pour diagnostiquer une perte après redémarrage, séparez deux cas :
- Le processus de l’agent n’a pas démarré. Contrôlez la configuration de lancement, les droits sur ses fichiers et les journaux système ou de lancement disponibles.
- Le processus tourne, mais l’agent ne rejoint pas le serveur. Examinez les journaux de l’agent, son adresse serveur, l’accès réseau et les éventuels changements de configuration.
- L’agent se connecte, mais une tâche échoue. Vérifiez le compte utilisé, les chemins des outils, l’accès aux ressources et la présence d’une session graphique si le travail en dépend.
Un LaunchAgent peut convenir à un scénario qui dépend d’une session utilisateur ; il ne faut toutefois pas le considérer comme une solution universelle. Faites un redémarrage contrôlé et reproduisez la tâche dans le mode de connexion qui sera réellement appliqué en exploitation. Si un flux audio, vidéo ou de conception s’appuie sur une interface graphique, validez aussi cette interaction plutôt que de conclure à partir d’une tâche exécutée en ligne de commande.
Point de contrôle : consignez séparément l’heure du redémarrage, l’apparition du processus, la connexion dans TeamCity et le résultat de la première tâche. Cela permet de repérer l’étape où le démarrage cesse de fonctionner.
Construire une preuve d’acceptation avant la mise en service
L’acceptation doit démontrer le parcours complet : déclenchement du travail, sélection du Mac, exécution par les outils attendus et contrôle du résultat. Pour rendre cette vérification reproductible, gardez une fiche d’exploitation courte, mais suffisamment précise pour qu’un autre administrateur puisse refaire le test.
- Connexion : relevez le nom de l’agent, son état dans TeamCity et les journaux qui confirment la communication avec le serveur.
- Autorisation et disponibilité : notez le statut d’autorisation et d’activation avant de lancer le test.
- Routage : conservez les exigences de la configuration et le nom de l’agent qui a exécuté le travail.
- Chaîne Xcode : consignez l’outil sélectionné, le répertoire développeur actif et l’action effectivement exécutée.
- Résultat : conservez les journaux utiles et vérifiez le produit attendu, plutôt que le seul statut de réussite.
- Récupération : testez le comportement après le redémarrage ou la reconnexion prévus par votre exploitation.
Cette fiche permet d’établir une référence pour les prochains changements de Xcode, de configuration ou de politique de démarrage. Elle facilite aussi le diagnostic lorsque le Mac est en ligne, mais que les tâches ne suivent plus leur itinéraire normal. Pour situer cette validation dans une démarche plus large, consultez les guides consacrés aux environnements Mac et les critères qui y sont utiles pour préparer l’exploitation d’un nœud CI.
FAQ sur le déploiement d’un agent TeamCity sur Mac
Comment installer un agent de compilation TeamCity sur un Mac ?
Téléchargez le paquet d’agent depuis l’interface ou la documentation de votre serveur TeamCity, puis installez-le conformément aux instructions correspondant à votre version. Configurez l’adresse du serveur et le nom de l’agent, démarrez-le dans le contexte utilisateur prévu, puis contrôlez les journaux et son état dans l’interface. L’installation locale ne suffit pas : l’agent doit aussi se connecter et être autorisé.
Pourquoi un agent Mac connecté ne prend-il aucun travail de compilation ?
Commencez par vérifier qu’il est autorisé et activé, puis comparez les exigences de la configuration de compilation avec les paramètres et outils annoncés par l’agent. Une incompatibilité de plateforme, de capacité ou de dépendance peut empêcher l’affectation d’un travail même si l’agent est en ligne. Examinez les détails de compatibilité dans TeamCity et relancez un test après chaque correction.
Comment lancer automatiquement l’agent TeamCity au démarrage de macOS ?
Choisissez un mode de lancement adapté à la politique de connexion des utilisateurs et aux besoins des tâches. Sur Mac, ne considérez pas la présence d’un processus comme une preuve suffisante : vérifiez les permissions, le contexte de session et les journaux après un redémarrage réel. Si une compilation dépend d’une session graphique ou de réglages utilisateur, testez-la dans cette même configuration.
Comment vérifier que l’étape Xcode utilise le bon agent Mac ?
Dans les détails de la compilation, vérifiez l’agent sélectionné et les exigences qui ont rendu cet agent compatible. Sur le Mac, contrôlez la version de Xcode installée et le répertoire développeur actif, puis examinez le chemin ou le choix d’outil configuré dans l’étape TeamCity. Terminez par une compilation représentative et vérifiez le résultat produit, pas seulement le statut de l’agent.
Une fois les contrôles TeamCity et Xcode reproductibles, reste à décider où faire tourner le Mac. Une machine déjà détenue peut être pertinente pour une charge durable, prévisible et gérée en interne ; elle implique toutefois l’achat, le remplacement du matériel et la maintenance. Une infrastructure cloud générique peut faciliter certains usages, mais ne remplace pas automatiquement un Mac réel ni les vérifications propres à macOS. Pour une capacité temporaire, une montée en charge ou un environnement de test, la location d’un Mac auprès de NowMini peut éviter d’immobiliser immédiatement un budget matériel ; elle n’est pas nécessairement adaptée à une charge permanente ni aux tâches exigeant des interfaces physiques. Vous pouvez examiner les modalités d’accès à un environnement Mac sur la page de connexion et d’accès NowMini, puis comparer ce mode d’exploitation à vos exigences de sécurité, de session et de disponibilité avant de retenir un nœud hébergé.
Questions fréquentes
Comment installer un agent de compilation TeamCity sur un Mac ?
Téléchargez le paquet d’agent depuis l’interface ou la documentation de votre serveur TeamCity, puis installez-le conformément aux instructions correspondant à votre version. Configurez l’adresse du serveur et le nom de l’agent, démarrez-le dans le contexte utilisateur prévu, puis contrôlez les journaux et son état dans l’interface. L’installation locale ne suffit pas : l’agent doit aussi se connecter et être autorisé.
Pourquoi un agent Mac connecté ne prend-il aucun travail de compilation ?
Commencez par vérifier qu’il est autorisé et activé, puis comparez les exigences de la configuration de compilation avec les paramètres et outils annoncés par l’agent. Une incompatibilité de plateforme, de capacité ou de dépendance peut empêcher l’affectation d’un travail même si l’agent est en ligne. Examinez les détails de compatibilité dans TeamCity et relancez un test après chaque correction.
Comment lancer automatiquement l’agent TeamCity au démarrage de macOS ?
Choisissez un mode de lancement adapté à la politique de connexion des utilisateurs et aux besoins des tâches. Sur Mac, ne considérez pas la présence d’un processus comme une preuve suffisante : vérifiez les permissions, le contexte de session et les journaux après un redémarrage réel. Si une compilation dépend d’une session graphique ou de réglages utilisateur, testez-la dans cette même configuration.
Comment vérifier que l’étape Xcode utilise le bon agent Mac ?
Dans les détails de la compilation, vérifiez l’agent sélectionné et les exigences qui ont rendu cet agent compatible. Sur le Mac, contrôlez la version de Xcode installée et le répertoire développeur actif, puis examinez le chemin ou le choix d’outil configuré dans l’étape TeamCity. Terminez par une compilation représentative et vérifiez le résultat produit, pas seulement le statut de l’agent.
Pour aller plus loin
Confiez vos compilations à un Mac dédié avec NowMini
Louez un Mac mini M4 physique dédié pour héberger votre agent de compilation et exécuter vos tâches d’intégration continue dans un environnement maîtrisé.
