• 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 12/05/2022

Mettez en place Travis

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

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éé.

Initialisation du répertoire avec Git

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 ).

Ajout du remote
Ajout du remote

Puis tapez les commandes suivantes :

$ git push origin main

Vous devrez avoir ce type de sortie :

Commit et push sur le repository distant GitHub
Commit et push sur le repository distant GitHub

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.

Page de démarrage de Travis CI
Page "Getting started" de Travis CI

Cliquez sur la petite icône  +  pour accéder à la liste des repositories GitHub de votre compte :

Vue de la liste des repositories GitHub sur le l'espace personnel de Travis CI avec le bouton
Interface du compte utilisateur sur Travis CI

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” :

L'option
Fenêtre de confirmation pour approuver et installer Travis CI

Vous devriez alors obtenir le résultat suivant :

Le repository GitHub est désormais activé pour l'intégration continue.
Interface du compte utilisateur sur Travis CI actualisé avec les repositories activés pour l'intégration continue

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 :

La fenêtre utilise un code couleur vert pour indiquer que le build est réussi : il ne présente pas d'erreur, tout s'est bien passé.
Confirmation que le build est réussi

Lancez un build manuellement

Vous êtes désormais en mesure de lancer un build manuellement grâce au bouton "Restart build" en haut à droite  :

Le bouton
Bouton pour lancer un build manuellement

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 :

Le résultat du build est visible directement sur la page de la pull request.
Résultat du build

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.

Exemple de certificat de réussite
Exemple de certificat de réussite