Lancer des builds TFS pour applications IOS


TFS 2015 permet de lancer des builds sur des projets qui ne sont pas des solutions Microsoft. Pour cela, il faut un agent de build qui permette de le faire.

Nous allons voir dans cet article, comment installer un agent de build sur un Mac et paramétrer un build vNext sur TFS 2015 OnPremise pour compiler un projet Xcode.

 

1. Préparation de TFS

On va d’abord créer un pool dédié aux builds sur le Mac. Pour cela, aller sur la page de paramétrage des agents : http://{your_server}:8080/tfs/_admin/_AgentPool

Créer un nouveau pool.

new-agent-pool-start

Bien noter le nom de ce pool car il sera utilisé lors de l’installation de l’agent sur le Mac.

Il faut ensuite donner les droits au compte de service qui sera utilisé par l’agent de build sur le Mac.
Pour lui donner le droit de lancer des builds, cliquer sur le pool qui vient d’être créé et aller dans l’onglet Rôles. Cliquer sur “Agent Pool Service Account” puis “Add”. Indiquer le compte de service que l’agent utilisera sur le Mac.

Faire de même avec le rôle “Agent Pool administrators”.

2016-08-19 11_06_33-Roles for pool Mac Pool - Microsoft Team Foundation Server

 

2. Installation des prérequis sur le Mac

Le 1er prérequis est d’avoir un Mac connecté au réseau pour pouvoir contacter le serveur TFS et à internet pour pouvoir télécharger les composants à installer. La connexion à internet ne sera plus nécessaire après cette étape.

Sur le Mac, il faut installer Xcode et OpenSSL.

Voici les commandes pour l’installation de OpenSSL en utilisant HomeBrew :

3. Installation de l’agent de build sur le Mac

Une fois que les prérequis sont installés, on peut Télécharger l’agent de build pour Mac OS

Lancez les commandes suivantes en mettant le bon chemin et le bon nom de fichier :

On peut alors commencer à configurer l’agent de build sur le Mac. Lancez la commande suivante :

Ce script demande :

  • L’URL de TFS. Elle doit être de la forme http://{your-server}:8080/tfs
  • Le type d’authentification : laisser Defaults si vous ne savez pas.
  • Le compte de service. C’est le compte utilisé dans le chapitre 1 et qui a les droits sur le Pool d’agent.
  • Le nom du pool d’agents. Il faut reprendre le nom du pool créé dans le chapitre 1.

Pour vérifier que ça fonctionne, lancer la commande :

Si la commande ne ressort pas d’erreur, c’est qu’on est sur la bonne voie. Des logs sont disponibles dans le répertoire “_diag”, à consulter en cas d’erreur.

4. Démarrage de l’agent en tant que service

Maintenant qu’on sait que l’agent fonctionne, on peut l’installer en tant que service afin de ne pas être obligé de le lancer manuellement à chaque démarrage du Mac.

A partir de cette étape, vous devez voir l’agent apparaître dans TFS et il doit être vert.

2016-08-19 12_37_46-Agents for pool Mac Pool - Microsoft Team Foundation Server

S’il apparait en rouge, c’est qu’il n’est pas démarré.

5. Autologon de la session du Mac

On peut considérer que l’installation de l’agent est terminé, sauf que si le Mac est redémarré, l’agent ne tournera pas tant qu’aucun utilisateur ne se loggue. Il faut donc forcer le démarrage automatique d’une session.
Pour cela, allez dans les préférences systèmes et cliquer sur Comptes.

2016-08-19 11_36_33

Allez dans Options et cliquez sur le cadenas en bas à gauche pour élever les privilèges. Vous aurez alors à saisir le mot de passe administrateur.

Sélectionnez ensuite le compte à ouvrir automatiquement.

Afin d’éviter que toute personne non autorisée n’intervienne sur la machine, on va la verrouiller au démarrage de la session.
Créez un fichier PLIST dans le répertoire  ~/Library/LaunchAgents.
Remplissez ce fichier avec le contenu suivant puis redémarrer :

 

6. Création d’un build Xcode

Maintenant que l’agent de build est prêt, on va pouvoir créer un build Xcode et le lancer.

Pour créer un build, allez dans l’onglet “Build” d’un projet. Cliquez sur l’icône “+”.
Vous pouvez alors sélectionner “Xcode” dans la liste de template.

2016-09-12-15_53_33-microsoft-team-foundation-server

Vous pouvez maintenant paramétrer les étapes de builds.
La première étape, permet de lancer la compilation d’un projet Xcode. Les étapes suivantes servent aux tests et à la publication des fichiers comme sur tout autre Build. On va uniquement s’intéresser à cette 1ère étape.

2016-09-12-15_53_54-microsoft-team-foundation-server

Sur cette étape Xcode, il faut indiquer le fichier P12 à utiliser et son mot de passe. Pour ne pas mettre le mot de passe en clair dans le champ prévu à cet effet, on va créer une variable.

Pour cela, allez dans l’onglet “Variables” du build et ajoutez une nouvelle variable. Sur celle-ci, cliquez sur le cadenas en bout de ligne qui permet de masquer le mot de passe. Personne ne pourra récupérer le texte saisi dans le champ.
On va par exemple, nommer cette variable P12_PWD.

2016-09-12-15_54_31-microsoft-team-foundation-server

Ensuite, revenez sur l’étape Xcode Build, et ajoutez la variable dans le champ “P12 Password”. La syntaxe est la suivante : $(P12_PWD)

Une fois que cette étape est complètement paramétrée, vous pouvez lancer le build pour vérifier le bon fonctionnement.

Commentez cet article