Chers développeurs, Dans cet article je vais vous présenter comment automatiser l’exécution des test et le build de votre application Android tout en utilisant la nouvelle fonctionnalité de github : “GitHubAction”
Mais d’abord, on doit connaitre c’est quoi “l’intégration continue”, “le déploiement continu”, et le “GitHub Actions”
Certainement, vous avez entendu parler de l’intégration et du déploiement continues. Ce sont deux “fonctionnalités” qui concernent un sujet plus large qui est le DevOps.
Selon Wikipedia, l’intégration continue, dite aussi CI, 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. Le concept a pour la première fois été mentionné par Grady Booch1 et se réfère généralement à la pratique de l’extreme programming. Le principal but de cette pratique est de détecter les problèmes d’intégration au plus tôt lors du développement. De plus, elle permet d’automatiser l’exécution des suites de tests et de voir l’évolution du développement du logiciel.”
La figure suivante résume les fonctionnalités de l’intégration continue.
Par contre, le déploiement continue, ou CD est “une stratégie de développement logiciel où toute validation de code qui réussit le cycle de test automatisé est automatiquement transférée dans l’environnement de production, propulsant ainsi les modifications vers les utilisateurs du logiciel”. Selon LeMagIT.
Donc, les CI/CD aident essentiellement à réaliser le projet plus rapidement en automatisant le “build”, le test et le “release”. Tout comme le montre la figure ci-dessous.
Et pour que les développeur puissent automatiser tout ça, ils utilisent souvent des outils tels que Jenkins, Travis CI, CircleCI… Et dernièrement, le nouveau né de GitHub qui s’appelle GitHub Actions.
GitHub Actions
On peut le présenter comme l’usine de production de Oreo, ou on trouve une chaine d’assemblage qui passe par plusieurs machines en créant les biscuis, ajoutant du chocolat, de la crème… afin d’avoir le paquet bien emballé de pièces d’Oreo. Dans notre cas, et pour un projet Android, le chocolat et la crème sont les test et le build. Et le biscuit emballé est le livrable qui est le fichier APK.
Alors, passons maintenant au travail. Et bien évidemment, vous avez besoin d’avoir un compte sur GitHub.
Après avoir choisi votre repo sur GitHub, cliquez sur le menu Actions en haut.
GitHub Actions vous donne la possibilité d’installer facilement CI/CD sur votre projet, et il te crée donc le fichier “.github/workflows/android.yml”
Comme mentionné dans le fichier android.yml, à chaque “push”, GitHub Actions lance automatiquement le build de votre projet en utilisant la dernière version d’ubuntu. On va donc modifier ce fichier afin d‘automatiser les tests unitaires et la génération d’un APK pour chaque push sur le repo.
Tests Unitaires
Le bout de code suivant va lancer à chaque push sur la branche master, les tests unitaires avec la commande “bash ./gradlew test — stacktrace”
name: Android CI/CDon: push: branches: - 'master'jobs: test: name: Run Unit Tests runs-on: ubuntu-latest steps: - uses: actions/[email protected] - name: set up JDK 1.8 uses: actions/[email protected] with: java-version: 1.8 - name: Unit tests run: bash ./gradlew test --stacktrace
Génération de l’APK
On a terminé avec les tests unitaires, et nous abordons maintenant la génération du livrable d’un projet Android, l’APK. On ajoute dans la sections jobs le code ci-dessous, qui génére le fichier APK “app-debug.apk” et le place dans “app/build/outputs/apk/debug”. Et tout comme les tests unitaires, ce traitement est fait sur la dernière version d’ubuntu et en utilisant Java 8.
Et au final, notre “android.yml” sera comme suit :
Et maintenant, c’est le time pour tester ce qu’on a fait précedemment.
Une fois on fait le push d’un nouveau commit, soit par l’invite de commande ou les outils de Android Studio, notre chaine de production des biscuits Oreo commence son travail:
Il suffit d’aller à “Actions” dans votre repository pour visualiser les étapes de test et de géneration..
Le build du fichier apk:
Et à la fin, le GitHub Actions nous indique que l’execution des tests unitaires ainsi que la géneration de l’apk sont fait avec succès.
Et on peut trouver et télécharger notre fichier apk généré, c’est à partir de “Artifacts” en haut à droite.
PS: Si vous vous trouvez devant une erreur qui ressemble à celle ci :
Il suffit donc de modifier, dans le fichier Android.yml, les lignes “runs-on: ubuntu-latest” par “ runs-on: windows-latest”
Et voila, on termine avec cette première partie du tutorial.
Des questions ? Des remarques ?… A vos claivers alors 😀
Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.Ok