Blog

Intégration continue avec Travis

Par Alexandre, le 25/08/2019 à 15h39 dans DevOps

L'intégration continue c’est comme une tour de contrôle, avec plusieurs opérateurs en charge de lancer successivement les différents outils permettant de valider le fonctionnement global de l'application. Il existe plusieurs outils d’intégration continue. On peut citer Travis CI, Jenkins, Gitlab CI. D’une manière générale ils sont simple à installer. Il suffit d’en matriser un seul et de lire la documentation si on veut en utiliser un autre.

L'outil d'intégration continue permet de lancer l'ensemble des autres outils le plus rapidement possible afin de valider un build avant d'entamer un déploiement ou une fusion de branche ou lors d une pull request par exemple.

Un build c’est tout simplement le fait de lancer l'ensemble des logiciels permettant de valider un changement dans l'application.
En fonction de ce qui est nécessaire de valider et les intégrations possibles avec l'outil d'intégration continue, il est possible d'ajouter de nombreux outils de validation :
• PHPUnit pour faire les tests unitaires de notre application
• Behat pour faire les tests fonctionnels
• JMeter pour simuler une montée en charge
• Etc…
La plupart du temps nous nous contenterons de valider notre application grâce au lancement de nos tests PHPUnit.
Voyons un exemple concret : mettre en place une intégration continue avec Travis CI. La première étape consiste à avoir un projet avec des tests sur GitHub. On a donc un projet Symfony avec des tests unitaires et on le push sur GitHub.
Ensuite rendez-vous sur http://travis-ci.com. On s’authentifie avec nos identifiants GitHub. Dans notre compte Travis on peut y voir tous nos repositories de notre compte GitHub.
Enfin on va lancer un build afin de vérifier si notre application est prête pour la prod. Pour se faire on va créer un fichier .travis.yml avec la configuration suivante :
language: php
php:
- '7.0'
- '7.1'
script:
- composer install
- vendor/bin/phpunit

Il ne nous reste plus qu'à commiter le fichier puis le pusher sur le repository Github distant. Juste après le push, un build est lancé automatiquement sur l’interface de notre repository Travis. Il suffit de rafraichir la page. Si tout est passé au vert on peut procéder au déploiement. On peut également lancer un build manuellement avec le bouton "Restart Build". Par défaut, Travis se charge aussi de lancer un build à chaque nouvelle pull request. Il suffit simplement de cliquer sur l'onglet "Pull requests".


Réseaux sociaux
twitter linkedin github

AlexandreHouriez.fr © 2019