maven with jenkins maven documentation
Ce tutoriel vous expliquera tout sur Jenkins et l'intégration de Maven avec Jenkins. Vous apprendrez également à créer de la documentation pour le projet à l'aide de Maven:
Nous allons découvrir ce qu'est Jenkins, l'intégration de Maven Jenkins, les avantages de Jenkins, comment configurer Java et Maven dans Jenkins, comment créer un travail Jenkins avec différents paramètres, les rapports de résultats d'exécution de Jenkins avec les plugins TestNG, comment passer Maven commandes sous forme d'objectifs dans Jenkins, documentation Maven pour les projets, etc. en détail.
=> Regardez la série de formation Simple Maven ici.
questions et réponses d'entretien unix pour les expérimentés
Ce que vous apprendrez:
Qu'est-ce que Jenkins?
Jenkins est un outil d'intégration continue qui a une importance immense dans le monde des tests et du développement de logiciels. Il est open-source et indépendant de la plate-forme. Dans notre travail quotidien, nous traitons des cadres d'automatisation comprenant plusieurs centaines de cas de test.
Jusqu'à présent, nous avons vu que pour exécuter nos scripts à partir du projet Maven, nous devons soit exécuter des commandes Maven à partir de l'invite de commande, soit ouvrir directement Eclipse et déclencher les scripts.
Nous déclenchons donc manuellement les cas de test pour exécution. Afin d'automatiser ce processus, nous devons planifier des travaux qui exécuteront nos cas de test à un moment donné et également prendre en charge certains paramètres importants. L'ensemble de ce processus est automatisé avec l'aide de Jenkins.
Ainsi, en réalité, si nous avons environ 800 cas de test qui doivent être exécutés à trois heures du matin, cela peut être fait facilement sans nécessiter aucune intervention manuelle à l'aide de jobs Jenkin.
En outre, il existe des scénarios dans lesquels des cas de test automatisés Smoke ou Sanity doivent être exécutés après un enregistrement de code du côté du développement dans l'environnement. Tout cela est pris en charge automatiquement par Jenkins.
Jenkins a le journal de toutes les modifications effectuées dans des référentiels comme SVN ou Git. Jenkins peut être facilement installé dans notre système et configuré. En outre, il peut être configuré sur plusieurs machines virtuelles si les builds doivent être déclenchés de manière distribuée. De plus, il donne accès via des liens à toutes les versions récentes.
Jenkins a des fonctionnalités telles que l'intégration avec TestNG à l'aide de plugins, des notifications par e-mail sur l'état de la construction qui le rendent plus populaire à utiliser de nos jours. Les problèmes et les bogues sont détectés et résolus très tôt.
La majorité des tâches d'intégration sont effectuées automatiquement, économisant ainsi des ressources et permettant au logiciel d'être publié à tout moment sans problème.
Dans l'environnement Agile, nous avons des analystes commerciaux, des développeurs et des testeurs qui travaillent ensemble. En conséquence, il se peut qu'un analyste commercial (une personne non technique) ait besoin de voir et de surveiller le résultat de l'exécution.
Dans de tels cas, il peut ne pas avoir besoin d'ouvrir une Eclipse ou de configurer et d'exécuter des commandes Maven pour déclencher les scripts. Il peut exécuter les cas de test avec l'aide de Jenkins et obtenir les résultats de l'exécution.
Nous sommes dans la page d'accueil de Jenkins avec un nom de poste comme Projet . Si une entreprise souhaite voir les résultats de l'exécution, il faut cliquer sur le nom du travail et il sera redirigé vers la page ci-dessous.
Puis Construisez maintenant sur la gauche de l'écran doit être cliqué. Il nous suffit donc d'ouvrir l'URL Jenkins (https: // localhost: 8080 / jenkins).
Alors que les cas de test sont déclenchés via Jenkins, c'est uniquement l'environnement spécifique fourni dans Jenkins où les cas de test sont exécutés. C'est un scénario courant que si nous exécutons nos cas de test en dehors de Jenkins, ils échouent en raison de la version de nos outils ou de notre langage ou de nos fichiers jar non alignés sur ce qu'il est censé fonctionner.
Par exemple, la version Java ou notre version Maven a été mise à jour ou rétrogradée. Tout cela peut être évité si nous utilisons les travaux de Jenkin pour notre exécution.
Ainsi, Jenkins a des contributions majeures dans notre cadre de test en maintenant une configuration centralisée dans tous les emplacements géographiques.
Avantages de Jenkins
Les avantages de Jenkins sont énumérés ci-dessous:
- Jenkins est un logiciel open source, indépendant de la plate-forme et portable.
- Il peut être installé et configuré facilement. Il peut être utilisé facilement.
- Jenkins a automatisé les éléments d'intégration et de nombreux problèmes d'intégration ne se produisent pas, augmentant ainsi l'efficacité et la productivité des développeurs.
- Sa documentation est bien décrite et facilite son apprentissage.
- Jenkins a été développé par les développeurs en gardant à l'esprit les fonctionnalités dont les développeurs ont réellement besoin dans leur travail.
- Il a un grand nombre de plugins. Tous ces plugins rendent Jenkins plus puissant et plus populaire parmi les développeurs.
- Jenkins assiste les environnements hébergés sur le cloud.
- Il a une grande communauté d'utilisateurs qui sont facilement accessibles. Ils travaillent sur les retours et touchent régulièrement la base.
- Jenkins fournit une aide pour tester l'automatisation des manières suivantes:
- Caractéristique de la planification de l'exécution des tests: Les professionnels du test peuvent planifier l'exécution de leurs scénarios de test et utiliser leur temps pour d'autres tâches.
- Rapport de résultats de test personnalisé: Jenkins donne des détails sur le modèle des résultats. Les représentations graphiques et les détails des résultats d'exécution reflètent le nombre total de cas de test, les délais d'exécution et d'autres informations importantes.
- Fonctionne correctement avec les processus d'intégration continue: Le temps de test est réduit avec Jenkins.
Ensemble de chemins Java et Maven dans Jenkins
Tout d'abord, nous devons avoir Java et Maven installés sur nos machines. Une fois que nous sommes sur la page de destination de Jenkins, au départ, il n'y aura pas d'emplois.
Cliquez maintenant sur Gérer Jenkins lien depuis la gauche de l'écran.
Cliquez ensuite sur Configurations globales d'outils . Ici, nous devons faire les configurations pour Java et Maven. Pour configurer Java, cliquez sur le Installations JDK bouton.
Ici, nous devons soit donner Nom et JAVA_HOME chemin ou cela peut être pris en charge en vérifiant Installer automatiquement case à cocher.
Ensuite, nous devons passer à la section Maven et cliquer sur le Installations Maven bouton.
Ici, nous devons soit donner Nom et MAVEN_HOME chemin ou cela peut être pris en charge en vérifiant le Installer automatiquement case à cocher.
Après avoir effectué ces opérations, cliquez sur Sauvegarder au bas de la page.
Créer un travail Jenkins
Ensuite, nous devons générer un job pour déclencher les scripts de notre projet Maven. Clique sur le Nouvel article lien depuis la gauche de l'écran.
Entrez un Nom de l'article et sélectionnez le Projet Freestyle option puis cliquez sur OK.
Nous serons dirigés vers la page de configuration du travail. Ici, nous devons fournir toutes les informations spécifiques à notre projet. Dans un premier temps, nous devons donner la source du code de notre projet.
Gestion du code source Jenkins
Dans le Gestion du code source section, nous sélectionnons généralement soit GitHub ou Subversion et fournissez les liens correspondants. Jenkins obtiendra automatiquement le code à partir de là.
Cependant, si notre code est présent dans notre système local, nous devons cliquer sur le bouton Avancée bouton sous le général section , et puis vérifier Utiliser un espace de travail personnalisé .
Nous devons placer notre projet Maven dans le .jenkins dossier et indiquez le chemin du fichier pom résidant dans le projet Maven en commençant par $ {JENKINS_HOME}.
De cette manière, Jenkins récupère le code source du projet.
Jenkins n'est pas seulement utilisé par les testeurs pour déclencher l'exécution du test, mais il est également largement utilisé par les développeurs pour leur travail. Certaines de ces options sont fournies sous Créer un environnement section.
Ensuite, nous devons passer à la section Build et sélectionner Invoquer la cible Maven de niveau supérieur options de la liste déroulante.
Puis Invoquer des cibles Maven de niveau supérieur section sera élargie. Ici Version Maven sera pré-remplie à partir de la version Maven que nous avons définie dans le Configuration globale des outils .
Sous Objectifs, nous devons fournir la commande Maven pour déclencher l'exécution. test mvn –PRégression. Dans Jenkins, on peut omettre le terme mvn et le reste de la commande est suffisant.
Cliquer sur Sauvegarder et nous avons réussi à créer un emploi.
Juste un récapitulatif de ce dont nous avons discuté jusqu'à présent:
- Emplacement de notre code (soit Git, Subversions, soit à partir d'un répertoire local).
- Commande Maven pour déclencher l'exécution.
Notre job sera créé et sera visible sur la page d'accueil de Jenkins:
Clique sur le Construisez maintenant à gauche de l'écran. Il y aura un Historique de la construction section sur la gauche de l'écran visible une fois la construction terminée. Le numéro de build sera visiblement suivi de # avec le horodatage . Naviguez maintenant vers le Sortie de la console .
Les résultats de l'exécution:
Intégration TestNG Jenkins pour le rapport des résultats d'exécution
Pour les détails du résultat de l'exécution du test, accédez au projet Maven dans Eclipse, accédez au cibler dossier puis vers le rapports infaillibles dossier. Il y a un index.html fichier dans les rapports infaillibles. Obtenez l'emplacement du fichier et ouvrez-le dans le navigateur.
testng-results.xml et le plugin de rapports TestNG est requis pour les résultats dans Jenkins.
Cliquer sur Gérer Jenkins lien depuis la gauche de l'écran Jenkins. Cliquez ensuite sur Gérer les plugins lien.
quel est le meilleur téléchargeur vidéo
Installez le Plugin de résultats TestNG .
Une fois terminé, nous mettrons à jour le travail que nous avons créé à partir du Configurer lien depuis la gauche de l'écran. Accédez ensuite au Actions post-build section et sélectionnez Publier les résultats TestNG dans la liste déroulante.
testng-results.xml le fichier de notre projet Maven est automatiquement renseigné dans le Modèle de rapport XML TestNG champ par défaut. Cliquez ensuite sur Enregistrer.
Planification des tâches dans Jenkins
Accédez au Créer des déclencheurs section pour planifier les horaires de construction.
Si nous sélectionnons Construire périodiquement , alors nous aurons le Horaire section visible. Ici, nous devons mentionner cinq paramètres pour planifier le travail, comme indiqué ci-dessous.
- MINUTES en une heure
- HEURES en un jour
- DAYMONTH jour dans un mois
- MOIS dans un an
- DAYWEEK jour de la semaine
Pour planifier les scripts à 8h00 du matin, nous devons spécifier comme indiqué ci-dessous:
Nous allons maintenant déclencher à nouveau la construction, pour vérifier les résultats de TestNG. Accédez à la page de destination de Jenkins et cliquez sur le poste. Nous allons maintenant avoir un Résultats TestNG lien dans notre écran d'emploi.
Dans le cas où l'exécution n'a pas d'échec, le Dernier résultat du test le lien ne montrera aucun échec. Cliquez sur le lien Résultats TestNG pour obtenir plus de détails sur les résultats.
On peut cliquer sur le construire # numéro pour plus de détails sur les résultats.
Pour vérifier notre code, nous devons cliquer sur le Espace de travail lien à gauche de l'écran. De cette façon, Jenkins et Maven peuvent travailler ensemble.
Documentation Maven pour le projet
Nous pouvons créer de la documentation pour notre projet avec l'aide de Maven. Comme indiqué précédemment, Maven comprend trois cycles de vie, à savoir nettoyer, site et par défaut.
La tâche de supprimer les erreurs et de supprimer les artefacts de la version précédente est prise en charge dans le faire le ménage cycle. Tandis que le défaut est en charge du processus de déploiement total, le placer cycle de vie est pour créer la documentation du projet.
Il est considéré comme une bonne pratique d'effectuer le nettoyage avant le site afin que nous ayons une documentation à jour.
Accédez au dossier du projet et exécutez la commande suivante à partir de l'invite de commande.
mvn site
Le processus de construction du projet commencera. Après le succès de la construction, la documentation du projet doit être générée comme indiqué ci-dessous.
En cliquant sur le fichier index.html, nous pouvons avoir une documentation détaillée du projet comprenant principalement les informations de construction et de projet, sur le projet, l'intégration continue, les dépendances, la liste de diffusion, les licences, etc.
Section FAQ
Q # 1) Comment Jenkins fonctionne-t-il avec Maven?
Répondre: Jenkins fonctionne bien avec Maven en suivant certaines conditions préalables. Nous devons configurer les chemins Java et Maven dans Jenkins. Ensuite, nous devons créer les travaux Jenkins avec tous les paramètres, y compris les actions post-build, la planification des builds, etc.
Q # 2) Que sont Maven et Jenkins?
Répondre: Maven est un outil de gestion de projet et de builds développé en Java. Jenkins est un outil d'intégration continue open source. Maven et Jenkins sont tous deux largement utilisés dans l'industrie de nos jours.
Q # 3) Quel est l'objectif Maven à Jenkins?
Répondre: Nous fournissons les commandes Maven dans la section Objectifs de Jenkins. Il s'agit d'une étape clé lors de la création d'un travail Jenkins.
Q # 4) Pourquoi utilisons-nous Maven?
Répondre: Maven est un outil de gestion de projet et de création piloté par un fichier pom.xml. Cela a rendu le processus de construction simple, facile et cohérent.
Q # 5) Maven est-il un outil CI?
Répondre: Non, Maven n'est pas un outil d'intégration continue. C'est un outil de construction ayant plus de fonctionnalités que Ant. Jenkins est un outil d'intégration continue.
Q # 6) Qu'est-ce que pom xml dans Maven?
Répondre: Project Object Model ou pom est un fichier xml qui forme le noyau de Maven. Il contient la liste des dépendances du projet, des configurations, des profils, etc.
Q # 7) Pouvons-nous intégrer TestNG et Jenkins avec Maven?
Répondre: Oui, nous pouvons intégrer TestNG et Jenkins avec Maven. Tout cela est réalisé à l'aide de plugins.
entretien ingénieur support technique questions et réponses
Q # 8) Quelles sont les trois versions du cycle de vie Maven?
Répondre: Les trois versions standard du cycle Maven sont répertoriées ci-dessous.
- Défaut
- Faire le ménage
- Placer
Q # 9) Comment définir les paramètres XML de Jenkins?
Répondre: Dans Jenkins, accédez à la section Build du job, puis cliquez sur Avancée. Fichier de paramètres L'option y sera visible. L'emplacement du fichier settings.xml doit y être spécifié.
Q # 10) Comment définir des variables d'environnement dans Jenkins?
Répondre: Les variables d'environnement dans Jenkins peuvent être définies à partir du Configurer écran. Dans le Construire section, sélectionnez Injecter des variables d'environnement . Là, nous devons fournir la variable d'environnement comme le modèle VARIABLE_NAME = VALUE.
Conclusion
Nous espérons qu'une grande partie de Maven comme son intégration avec Jenkins, les plugins TestNG pour Jenkins pour afficher les résultats, la création d'emplois sur Jenkins, Java et Maven mis en place dans Jenkins, les configurations globales sur Jenkins devraient être facilement comprises maintenant.
De plus, les mécanismes de planification de construction de Jenkins, ses actions post-build, la façon dont Jenkins traite le code résidant dans Git, ou tout autre référentiel ou en local ont été illustrés en détail ici. Pratiquez chaque étape une par une et la fusion de Maven Jenkins sera claire. Nous avons également exploré la documentation Maven pour les projets.
Jenkins, un outil d'intégration continue, a une réelle utilité pour les développeurs, les testeurs, les analystes d'affaires, etc. dans un monde agile. Chaque organisation cherche à utiliser et à adapter de temps en temps les processus d'intégration continue.
=> Visitez ici pour voir la série de formation Maven pour tous.
lecture recommandée
- Qu'est-ce que Maven - Tutoriel Maven pour les débutants
- Gradle Vs Maven et Plugins Maven
- Tutoriel Jenkins CI - Qu'est-ce que l'intégration continue Jenkins
- Travaux Jenkins: configuration de SCM, création de travaux et interrogation de SCM
- Plugins Jenkins: SCM, analyseurs et installation de plugins
- Intégration de Maven avec TestNg à l'aide du plug-in Maven Surefire
- Sécurité Jenkins: activation de la matrice de sécurité et de sécurité des projets
- Configuration de Maven avec Eclipse Java IDE