Intégration continue sous Android avec Github Actions

Comment configurer une pipeline d’intégration continue et exécuter des taches automatisés dans un projet Android.

Farouk Sabiou
AndroidMood
3 min readMay 25, 2020

--

Photo by JJ Ying on Unsplash

C’est quoi l’intégration continue ?

L’intégration continue est un ensemble de pratiques utilisées en génie logiciel, consistant à vérifier, à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l’application développée.

Cette technique consiste à mettre en place un workflow permettant l’automatisation de tâches : compilation, tests unitaires et fonctionnels, validation produit, tests de performances… À chaque changement du code, le workflow va exécuter un ensemble de tâches et produire un ensemble de résultats, que le développeur peut par la suite consulter. Cette intégration permet ainsi de ne pas oublier d’éléments lors de la mise en production et donc ainsi améliorer la qualité du code.

Parmis les plus populaires, il y a Jenkins, Circle CI, Team City, Bamboo, et Gitlab et Github Actions.

Pourquoi l’intégration continue ?

Supposons un projet Android avec 4 développeurs. Chaque dev possède un clone du projet sur sa machine. Naturellement, dans un environnement sans intégration continue, si un développeur A effectue une modification sur le code source, puis soumet un pull request pour validation, le développeur B (chargé de valider la modif) va manuellement vérifier et tester les modifications soumises par le développeur A afin de s’assurer que le code est sain et peut être fusionné dans la branche principale sans aucune crainte ! et ainsi de suite…

Ce processus long, chronophage et parfois ennuyant peut être automatisé ! grâce a l’intégration continue ! A chaque commit, pull request ou autre (en fonction de votre workflow) le serveur d’intégration continue se chargera de faire l’audit du code source pour s’assurer que les nouvelles modifications ne présentent aucun danger pour le code fonctionnel.

Dans cet article, nous verrons comment configurer une pipeline d’intégration continue avec Github Actions.

Github Actions, introduit en 2018 par Github, est une plateforme d’intégration et déploiement continue qui vous offre la possibilité de créer un cycle de développement personnalisé directement depuis votre repos github.

Workflow

Un workflow est le processus d’automatisation que vous configurer dans votre repos github pour exécuter vos taches d’intégration ou de déploiement continue.

Nous allons voir ici un exemple d’un workflow pull request qui consiste a exécuter automatiquement un build sur notre projet a chaque pull request.

Configuration:

Sur Android Studio, allez sur la fenêtre project et créez un nouveau fichier

puis collez y le contenu suivant:

workflow pull_request

A chaque nouveau pull request, notre worflow lancera automatiquement un build sur notre projet comme vous pouvez le voir sur l’image ci dessous:

Après avoir effectué le build, nous aurons un message de confirmation:

donc on peut maintenant fusionner la modification dans notre codebase sans aucune crainte.

Sur Github, allez dans votre repos et cliquez sur l’onglet Actions, vous aurez un tableau de bord pour consulter l’historique et détails de vos workflows et configurer au besoin un nouveau workflow.

Notez bien que l’intégration continue va au delà d’un simple pull request, vous pouvez configurer un job pour exécuter un lint sur votre codebase afin de vous assurer que toute modification future respecte vos conventions internes, ou configurer une pipeline de déploiement pour vos futures releases. N’hesitez pas à consuter le site Github Actions pour en savoir plus.

N’hésitez pas à partager et à suivre AndroidMood pour ne pas rater nos prochains articles.

Bonne lecture !

--

--