Comment compiler des applications Android avec Jenkins

dans les délais de développement logiciels via des méthodologies agiles, une intégration de Scrum et continue, où tous les membres d’une équipe sont fréquemment destinés et peuvent effectuer plusieurs téléchargements par jour en fonction du Tâches à développer, il est essentiel d’utiliser des outils permettant l’état du produit à tout moment, les différentes versions et l’état qui se trouve.

Chaque fois qu’une augmentation est effectuée du code du référentiel, un Intégration qui compose le code source et vérifie qu’il a été fait correctement, obtenant un exécutable de l’application. Pour ce processus, dans SDO, nous avons opté pour l’utilisation de Jenkins, un logiciel libre et une source open source écrite en Java et repose sur le projet Hudson.

Pourquoi Jenkins?

Ceci System prend en charge les outils de contrôle de version tels que SVN ou GIT et peut exécuter des projets basés sur la fourmi et le maven, la note, etc. En outre, étant un projet open source, il est le plus utilisé par les développeurs, avec une grande communauté de développement et de soutien.

Mais Jenkins n’est pas simplement un outil pour l’équipe de développement, elle sert également à l’AQ Équipement: de la même manière qui permet d’exécuter des tests automatiques ou même de l’utilisation de Sonarqube, juste après que chaque compilation vous permet de vérifier la qualité de la hausse.

Comment utiliser Jenkins avec Android?

Dans le développement Android, Jenkins peut nous servir à générer un fichier .apk chaque fois que nous effectuons une montée de code dans le référentiel, ce qui le garde sur un serveur FTP où nous aurons une liste de toutes les versions générées.

Dans ce message, nous vous indiquons comment compléter l’ensemble du processus. Nous avons commencé!

Créer un projet à Jenkins

Tout d’ abord, nous avons créé un nouvel emploi à Jenkins.

Ensuite, nous sélectionnons un nouveau projet Freestyle pour pouvoir le configurer en fonction de nos besoins. Nous écrivons un nom et cliquez sur ok.

Configurez les sections d’emploi

Général

Dans cette section, nous définirons les éléments suivants:

  • Nom et description du projet. Il est conseillé de donner un nom intuitif au projet et une description spécifique de savoir quel travail est en cours d’exécution:
  • Lorsque les anciennes constructions sont téléchargées. Il est important de définir un nombre maximum de construction pour économiser puisque nous ne voulons pas surcharger la machine ni remplir les exécutions de notre travail. En recommandant, nous resterons avec les 10 dernières exécutions effectuées. Si, hors du projet, nous avons besoin de plus, le nombre pourrait être augmenté, mais il ne devrait s’agir que dans des cas spécifiques.
  • Paramètres d’exécution du projet. Dans la partie générale, nous définirons également les paramètres nécessaires pour exécuter un emploi. Pour les ajouter, nous devons cliquer sur ce projet est paramétré et sélectionnez un paramètre de choix. Les paramètres de la compilation d’une application Android seront les suivants:
    • type. Par défaut sur Android, deux types, débogage et libération, mais des types personnalisés peuvent être ajoutés. Dans notre cas, nous ajouterons: la libération, la préproduction et le débogage.
    • saveurs. Une saveur définit une version personnalisée de l’application. Cela nous permet de définir différentes personnalisations de l’application en fonction de la variante dont nous avons besoin. Par exemple, nous pourrions avoir une farine pour une démonstration de l’application et une autre avec l’application complète du paiement.
    • paramètre git. Nous définirons comme paramètre la branche que nous voulons du référentiel concret. Nous devrons définir une valeur par défaut pour les exécutions automatiques. Si nous avons de nombreuses branches dans le même référentiel, nous pouvons faire un filtre par nom de succurseur comme, par exemple, * _ rc. * (Toutes les branches qui incluent _rc, candidat Rerad).

Vous pouvez trouver plus d’informations sur les paramètres de ce lien.

Gestion du code source

Dans cette section, nous définirons le type de référentiel que nous voulons utiliser, dans notre Case ce sera git.

Une fois que nous avons sélectionné l’option GIT, nous devons ajouter:

  • URL du référentiel. Où est le code de projet enregistré?
  • Critiques. Nous utiliserons l’utilisateur de Git précédemment ajouté à Jenkins.
  • branche. Nous spécifierons la branche spécifique du projet que nous utiliserons. Comme nous l’avons choisi avec le paramètre Git Paramètre, nous passons la valeur de ce paramètre avec une branche $.
  • Construire des déclencheurs

    Dans cette Section Nous définirons le type d’activateur que nous devons exécuter la construction. Si nous n’en ajoutons pas, il ne sera exécuté que lorsque nous le forçons. D’ici, nous pouvons également:

    • Effectuer une exécution à distance d’un script.
    • Effectuez l’exécution périodiquement, par exemple toutes les nuits à 00:00.
    • Effectuer une exécution lorsqu’une demande de pression ou une nouvelle demande de fusion se produit dans le référentiel.

    Pour l’instant, nous le laisserons par défaut et nous l’exécuterons manuellement.

    Construire l’environnement

    Dans cette section, nous définirons deux options:

    1. Supprimez le dossier de l’espace de travail avant chaque exécution (pour effectuer une exécution propre).
    2. Ajoutez l’horodatage aux journaux pour avoir plus d’informations.

    « DAFACB897″>

    Build

    dans la section de construction, nous ajouterons un shell exécuté pour exécuter les commandes suivantes:

    • chmod + x gradlew: donne des autorisations d’exécution au fichier Gradlew au cas où vous ne les avez pas (par défaut, il les a déjà).
    • ./ Gradlew: exécuter le Fichier Gradlew sur la machine où Jenkins est un Linux (Méfiez-vous de ce fichier!).
    • Assemblez: C’est l’ordre de compiler une application Android.
    • $ Savour: la saveur choisie pour l’exécution . Nous mettons $ pour remplacer la valeur du paramètre en sélectionnant dans la liste déroulante de la saveur dans la section générale.
    • Type de type: type choisi pour l’exécution. Nous avons mis $ pour remplacer la valeur du paramètre par la liste déroulante Type sélectionnée dans la section générale.

    Actions post-build

    de cette section, nous allons principalement Trois actions:

    • sauvegardez l’artefact généré. Nous garderons tous les fichiers .apk générés dans la compilation du projet. Par défaut, nous l’enregistrerons à l’adresse suivante: ** / *. APK
    • Nous allons envoyer le fichier .apk à l’intérieur du dossier / APKS / A Un serveur FTP. Dans notre cas, nous avons un serveur appelé NAS1 dans lequel nous enregistrerons l’APK généré dans un dossier déjà créé dans le serveur.NOTA: Pour configurer la connexion avec un serveur FTP, nous devons aller gérer Jenkins > configure jenkins > publie sur FTP et ajoutez les données correspondant à notre serveur.

      >

    • Envoyez un courrier chaque fois que vous avez terminé une version à l’aide de l’action de notification de courrier électronique modifiable après la construction. La configuration que nous aurons sera la suivante:

    Vous pouvez copier le contenu du message par défaut de ce HTML:

    Sujet par défaut

     Result of Build $BUILD_NUMBER ${JOB_NAME} Project.

    Contenu par défaut

    <html><p> Hello. </p><p>This mail is auto-generated as part of the Jenkins execution of the project <b>${JOB_NAME}</b> </p><h2> BUILD DETAILS: </h2><p> <b>Project Name:</b> ${JOB_NAME} <br> <b>Build URL:</b> ${BUILD_URL} <br> <b> Build Number: </b> ${BUILD_NUMBER} <br> <b>Build Status: </b> ${BUILD_STATUS} <br> <b>Type: </b> $Type <br> <b>Flavor: </b> $Flavor <br> <b>Branch: </b> $Branch <br> <b>Download APK: </b> ${BUILD_URL}/lastSuccessfulBuild/artifact/apks/ <br> <b>Log: </b> The log file is attached into this e-mail. <br> <b>Log URL: </b> ${BUILD_URL}${JOB_NAME}/lastBuild/console <br> <b>Changes: </b> ${CHANGES, format="List of changes: <li><ul> %m </ul><ul> %d </ul> <ul> %r </ul></li> <br>"} <br></p><p> Thank you & Regards. </p></html>

    Ce modèle est générique pour tout projet Comme il utilise les variables suivantes:

    • $ {Nom_name}. Nom du travail à Jenkins.
    • $ {build_url}. URL du travail exact.
    • $ build_number}. Numéro de construction exécuté.
    • $ build_status}. État dans lequel la construction est terminée.
    • $ type. Type sélectionné lors de l’exécution de la construction.
    • $ Savour. Saveur sélectionnée lors de l’exécution de la construction.
    • $ branche. Direction sélectionnée lors de l’exécution de la construction, si personne n’a été choisi, le nom de la branche par défaut apparaît.
    • $ changements}. Affiche les modifications apportées à la validation qui a activé la construction.
      • % A: Comité.
      • % m: Message du commit.
      • % D: DATE du commit.
      • % r: Numéro de validation.

    Ceci entraînera un courrier électronique comme celui indiqué ci-dessous. Faisons le .apk généré facilement.

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *