Dans ce chapitre, nous allons voir comment mettre en place Travis CI pour l'un de vos projets GitHub.
En quelques clics et un peu de configuration, vous aurez un environnement d'intégration fonctionnel sans trop d'efforts.
Cet outil est très facile à utiliser : en effet, dans le cas où vous poussez votre code sur GitHub, l'intégration avec Travis CI est facilitée.
Installez Travis CI
Durant la première partie de ce cours, nous avons implémenté des tests unitaires dans un projet Symfony. Nous allons pousser ce projet sur GitHub.
Récupérez le projet complet avec les tests dans un nouveau dossier avec la commande suivante :
$ git clone git@github.com:OpenClassrooms-Student-Center/4087056-testez-unitairement-votre-application-symfony-php.git
Récupérez l'adresse de votre repository, puis le projet que vous avez téléchargé, dans un dossier que vous serez en mesure de retrouver. Ouvrez votre outil de ligne de commande préféré, et placez-vous à la racine du projet.
Tapez la ligne de commande suivante :
$ git init
Cette ligne de commande a pour effet de réinitialiser votre répertoire avec Git. Cela signifie concrètement que maintenant vous êtes en mesure d'effectuer des changements trackés par Git !
Un dossier .git vient d'être créé.
Commencez par indiquer quel est le remote (repository centralisé). Normalement, vous avez toujours l'adresse de votre repository GitHub dans votre presse-papier (si ce n'est pas le cas, allez à nouveau le récupérer).
Dans votre outil de ligne de commande, tapez la commande suivante :
$ git remote rm origin (afin de retirer l’url de notre remote que l’on a initialisé avec la commande “git clone …”) $ git remote add origin [l'adresse de votre repository]
Remplacez [l'adresse de votre repository]
par ce que vous avez dans votre presse-papier ( Ctrl + V ou Cmd + V ).
Puis tapez les commandes suivantes :
$ git push origin main
Vous devrez avoir ce type de sortie :
Vous devriez voir l'ensemble de votre projet avec tous les dossiers et les fichiers.
Revoyons cela en vidéo :
Si tout s'est bien passé, nous pouvons passer à l'étape suivante.
Activez Travis CI pour le projet GitHub
Rendez-vous sur Travis CI pour vous authentifier avec GitHub avant de commencer.
Vous serez ensuite redirigé vers la page d’accueil de votre profil.
Cliquez sur la petite icône +
pour accéder à la liste des repositories GitHub de votre compte :
Vous devriez voir votre repository nouvellement créé. Juste à côté, il y a un petit interrupteur : cliquez dessus pour indiquer à Travis que vous souhaitez activer l'intégration continue.
Sélectionnez votre repository et cliquez sur “Approve & install” :
Vous devriez alors obtenir le résultat suivant :
Parfait ! Nous pouvons passer à la troisième étape : lancer votre premier build.
Lancez un build
Ajoutez un fichier de configuration
Cliquez sur le nom du repository GitHub. Vous allez être redirigé vers la page Travis dédiée aux builds pour le repository en question :
Pour pouvoir lancer un build, il faut ajouter un fichier de configuration compréhensible par Travis. C'est dans ce fichier que vous indiquerez toute la configuration nécessaire à Travis pour qu'il soit en mesure de lancer les tests automatiquement.
Créez un fichier .travis.yml (sans oublier le “.” devant travis.yml, sans quoi Travis CI ne verra pas le fichier) avec au minimum la configuration suivante :
language: php
php:
- '8.0'
script:
- composer install
- vendor/bin/phpunit
Nous indiquons ici que nous avons besoin de deux environnements (l'un contenant PHP 7.0 et l'autre contenant PHP 7.1), et que Travis lance les lignes de commandes suivantes :
$ composer install $ vendor/bin/phpunit
Il ne nous reste plus qu'à commiter le fichier puis le pusher sur le repository GitHub distant.
Un build est alors lancé automatiquement.
Une fois le build terminé, voici le résultat que vous devriez obtenir :
Lancez un build manuellement
Vous êtes désormais en mesure de lancer un build manuellement grâce au bouton "Restart build" en haut à droite :
Notez qu'il n'y a pas de nouveau build créé.
Lancez un build à chaque pull request
Par défaut, Travis se charge de lancer un build à chaque nouveau pull request. Il suffit simplement de cliquer sur l'onglet "Pull requests".
Le résultat du build est visible directement sur la page de la pull request sur GitHub :
Vous êtes désormais en mesure de mettre en place une intégration continue très rapidement, et sur tous vos projets, alors ne vous en privez pas !
En résumé
La mise en place de Travis CI permet un gain de temps considérable pour le contrôle des régressions, notamment.
La tâche automatisée n’est plus une corvée une fois configurée.
L’intégration de Travis CI avec GitHub est très simple et rapide, donc il serait dommage de s’en priver.
Dans le prochain et dernier chapitre, nous allons voir quelques éléments à retenir afin de maintenir une intégration continue de façon simple.