hudson continuous integration tool tutorial selenium tutorial 25
Dans les deux derniers tutoriels de la série Selenium, nous avons discuté des deux outils de construction les plus importants - FOURMI et Maven . Nous avons discuté de leur signification et de leur importance pratique.
Dans notre précédent didacticiel de la série DevOps, nous avons appris Intégration de Jenkins avec Selenium .
Dans l'actuel Tutoriel de formation en ligne Selenium , nous discuterions d'un outil d'intégration continue appelé Hudson .
Lire => Guide exemplaire sur DevOps
Noter: Ce didacticiel fait partie de Selenium ainsi que de la série de didacticiels DevOps. Cliquez sur les liens appropriés pour accéder à la série concernée.
Nous étudierions son importance et les avantages dont nous tirons parti tout outil d'intégration continue . Nous regarderions l'Hudson directement depuis le début, de son installation à ses paramètres avancés.
Ce que vous apprendrez:
- Intégration continue
- Hudson - Outil d'intégration continue
- Installation d'Hudson
- Configuration Hudson
- Configuration de la notification par e-mail
- Création du projet Hudson
- Configuration du projet Hudson
- Configuration de la gestion du code source
- Sélection des déclencheurs de construction
- Appel des étapes de construction
- Configurer les actions post-build
- Conclusion
- lecture recommandée
Intégration continue
Plusieurs fois, nous finissons par travailler sur un projet où un grand nombre de développeurs et de testeurs travaillent ensemble sur différents modules. Les développeurs et les testeurs travaillent sur leurs modules, développant ainsi des exécutables. Ces produits de travail sont ensuite intégrés à intervalles réguliers. Ainsi, chaque fois que nous créons un code de développement, il doit être intégré, testé et construit pour garantir que le code développé ne se casse pas ou n'introduit pas d'erreurs ou de défauts.
Ce processus de construction et de test du travail de développement intégré à intervalles réguliers est appelé Intégration continue (CI) . L'intégration continue vous permet d'identifier et de traiter les défauts ou les erreurs dès que possible dans le cycle de vie du développement, c'est-à-dire plus près du moment où ils ont été introduits.
Le système d'intégration continue construit et teste l'application dès que le code frais / modifié est validé sous l'acronyme du système de gestion du contrôle de la source SCM. Avec ses grands avantages et son impact sur les industries, il est devenu une partie intégrante du cycle de vie du développement logiciel et est obligatoire.
Hudson - Outil d'intégration continue
L'intégration continue peut être effectuée automatiquement. Hudson est l'un des outils les plus connus pour effectuer une intégration continue. Hudson est un outil d'intégration continue open source basé sur Java. Comme tout autre outil d'intégration continue, Hudson fournit aux équipes pour déclencher des builds et des tests avec tout changement dans le système de gestion de contrôle de source.
Hudson prend en charge une large gamme d'outils et de plugins.
Hudson:
- Prend en charge les outils SCM tels que CVS, Subversion (SVN), Git, etc.
- Est capable de construire des projets basés sur ANT, des projets basés sur Maven, etc.
- Est capable d'exécuter des scripts shell et des commandes batch Windows
- Est capable d'envoyer des rapports, des notifications, etc. par e-mail, SMS, Skype, etc.
Installation d'Hudson
Conditions préalables
Pour pouvoir utiliser Hudson, nous avons besoin des éléments suivants avant de commencer:
- Référentiel de code source (SVN / Git / CVS etc.)
- Construire le script (Ant / Maven etc.)
Installation
Hudson peut être facilement installé sur une variété d'environnements. Hudson peut être installé à la fois sur la machine Linux et la machine Windows. Il est également distribué sous forme de package spécifique au type de système d'exploitation pour différentes versions de Linux, ce qui rend l'installation de quelques minutes. Hudson peut être exécuté en tant qu'application autonome ou dans le conteneur de servlet. Dans ce didacticiel, nous expliquerons l'installation d'Hudson sur une machine Windows. Il existe deux approches distinctes pour installer Hudson.
- Utilisation du fichier WAR
- Utilisation du package natif
Les packages natifs sont disponibles pour Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS et openSUSE.
Pour ce tutoriel, nous discuterons de l'installation par fichier WAR. Laissez-nous discuter de l'ensemble du processus étape par étape.
Étape 1 : Téléchargez le fichier WAR Hudson à partir du site Web officiel d'Hudson - ' http://hudson-ci.org/ ». Conservez le fichier war à l'emplacement souhaité dans le système de fichiers local. Ce fichier WAR peut être démarré directement via l'invite de commande ou peut être utilisé dans Servlet Container. Le WAR est un fichier exécutable contenant un conteneur de servlet intégré.
Étape 2 : L'étape suivante consiste à initialiser l'interface utilisateur Web Hudson. Pour cela, nous devons ouvrir une invite de commande et aller dans le dossier où Hudson war est conservé.
- Tapez java -jar hudson-3.0.1.war –httpPort = 8099
La commande ci-dessus indique que la configuration initiale doit être effectuée sur Hudson Dashboard. Reportez-vous à l'écran ci-dessous.
(Cliquez pour agrandir l'image)
Remarque: il est conseillé de démarrer Hudson en tant que service sur une machine Windows ou Linux.
Étape 3 : Pour pouvoir accéder à la fenêtre Hudson, ouvrez votre navigateur et lancez Hudson.
- Tapez «http: // localhost: 8099 /» - Cela ouvrira la fenêtre Hudson.
(Cliquez pour agrandir l'image)
Étape 4 : Sélectionnez les plugins souhaités et cliquez sur le bouton Terminer. Veuillez être patient car l'installation de tous les plugins prendra probablement quelques minutes.
Remarque : Plusieurs options sont disponibles pour assurer la prise en charge de SCM. Cochez l'option SCM que vous souhaitez utiliser.
Une fois que tous les plugins ont été installés, un utilisateur peut afficher le tableau de bord Hudson.
Configuration Hudson
Maintenant que le tableau de bord Hudson est prêt, l'étape suivante consiste à configurer le Hudson. Parlons à nouveau de l'ensemble du processus par étapes:
Étape 1 : Pour configurer l'Hudson, cliquez sur le lien «Gérer Hudson» affiché dans le menu de gauche.
Étape 2 : Cliquez sur le lien «Configurer le système» à l'étape suivante. Reportez-vous à la capture d'écran suivante.
Étape 3 : Dès que vous cliquez sur le lien Configurer le système, de nombreuses sections pour les paramètres de connexion devraient être. Ajoutez une entrée à JDK comme indiqué dans la figure suivante. L'utilisateur doit fournir le nom de l'installation JDK et l'emplacement où java est installé. Plusieurs instances Java peuvent être ajoutées.
L'utilisateur peut également installer JDK automatiquement en cochant la case «Installer automatiquement».
Étape 4 : À l'étape suivante, ajoutez une entrée à Ant comme illustré dans la figure suivante. L'utilisateur doit fournir le nom de l'installation Ant et l'emplacement où Ant est installé localement.
Comme JDK et Ant, un utilisateur peut configurer d'autres paramètres de connexion.
Remarque : N'oubliez pas de toujours décocher la case «Installer automatiquement». La case à cocher doit être cochée au cas où vous souhaiteriez télécharger l'artefact sur Internet.
Configuration de la notification par e-mail
La section Notification par e-mail est affichée à la fin de la même page Web. L'utilisateur doit configurer les champs suivants:
Cliquez sur un bouton avancé pour voir toutes les options liées à la notification par e-mail.
- Serveur SMTP: Le serveur SMTP stocke les informations sur le serveur SMTP, c'est-à-dire le numéro IP ou le nom complet du serveur. À titre de démonstration, dans ce didacticiel, nous utiliserons le serveur SMTP de Gmail.
- Suffixe de messagerie de l'utilisateur par défaut : Un suffixe d'e-mail peut être fourni dans ce champ qui pourrait être suffixé avec le nom d'utilisateur et peut être utilisé pour envoyer la notification par e-mail.
- Adresse e-mail de l'administrateur système : L'adresse e-mail de l'administrateur est utilisée comme identifiant de messagerie de l'expéditeur à partir duquel toutes les notifications seront envoyées.
- URL Hudson : Si vous êtes susceptible de publier des rapports ou de créer des informations dans la notification par e-mail, l'URL Hudson doit être fournie. L'URL Hudson sera utilisée pour accéder aux rapports. Une URL valide doit être fournie, cependant, si tous les récepteurs sont connectés à l'intranet, l'adresse IP de la machine hébergeant Hudson peut également être fournie.
- Utiliser l'authentification SMTP : L'activation de cette option fait apparaître le champ du nom d'utilisateur et du mot de passe à des fins d'authentification.
- Utiliser SS L: l'utilisateur peut activer SSL en sélectionnant cette option pour se connecter au serveur SMTP.
- Port SMTP: L'utilisateur doit fournir le numéro de port dans ce champ qui est utilisé pour communiquer avec le serveur de messagerie. Si aucun numéro de port n'est spécifié, les numéros de port par défaut sont attribués.
- Charset : Ce champ spécifie le jeu de caractères utilisé pour rédiger les e-mails.
Comme nous l'avons déjà mentionné, nous utiliserions le serveur de messagerie Gmail pour envoyer une notification par courrier électronique dans ce didacticiel, reportez-vous aux captures d'écran suivantes et apportez les modifications nécessaires dans la section Notification par courrier électronique.
Cliquez sur le bouton Enregistrer pour enregistrer toutes les modifications nouvellement apportées.
Création du projet Hudson
Maintenant que nous avons installé et configuré l'Hudson sur nos machines, nous allons aller de l'avant et créer des projets Hudson. Comme pour la configuration Hudson, nous avons plusieurs options de configuration pour un projet Hudson. Dans ce didacticiel, nous ferons la lumière sur les options et extensions les plus utiles et les plus couramment utilisées.
Pour créer et configurer un nouveau projet Hudson, suivez les étapes à venir:
Cliquez sur l'option «New Job» affichée dans le menu de gauche. La page suivante s'ouvre et affiche les options liées à la création de projet et aux styles de projet.
Il existe de nombreux styles dans lesquels le projet / travail peut être créé. Prenez note que projet et travail peuvent être utilisés de manière interchangeable car ils ont tous deux tendance à signifier la même chose.
- Créez un logiciel de style libre jo b: Il s'agit de la méthode la plus couramment utilisée pour créer un nouveau Job Hudson.
- Créer un travail multi-configuration : Ce style de projet est utilisé pour exécuter une variété de travaux.
- Surveiller un travail externe : Ce style de projet surveille un travail externe.
- Copier le travail existant : Si nous avons un projet similaire à un projet existant, ce style peut être utile. Tout ce que vous avez à faire est de spécifier le nom de la tâche existante et la réplique de cette tâche sera créée.
Cependant, pour ce didacticiel, nous créerions un projet Hudson freestyle. Tapez le nom du travail que vous souhaitez créer et cliquez sur le bouton OK. Cliquez sur OK pour accéder à la page de configuration de la tâche, comme indiqué ci-dessous:
Configuration du projet Hudson
Une fois que nous avons créé le travail Hudson, il est temps de le configurer. Tout comme la configuration Hudson, Hudson Job a également divers paramètres de configuration. Discutons ici des plus importants.
Pour être précis, il existe à savoir six types de paramètres pour configurer un travail:
- Paramètres généraux du travail : Cette section permet à l'utilisateur de mentionner les informations de base sur le travail. L'utilisateur peut soumettre la description du travail, désactiver le travail, paramétrer le travail, mettre à la poubelle les anciennes versions et peut exécuter plusieurs versions pour le même travail simultanément.
- Options de tâche avancées : Cette section permet à l'utilisateur de configurer certaines options avancées.
- Gestion du code source : La section vous permet de fournir les paramètres liés au système de gestion du code source. Sélectionnez «Aucun» si aucun SCM n'est utilisé. Notez que l'utilisateur ne pourra voir que les options SCM dont le plugin a été installé au moment de l'installation d'Hudson. Afin d'ajouter plus de SCM à Hudson, un utilisateur peut visiter la page Manage Plugins et peut installer les plugins requis.
- Créer des déclencheurs : Cette section permet à l'utilisateur de décider comment lancer l'exécution de la construction.
- Construire : Cette section permet à l'utilisateur de fournir les paramètres du mécanisme de construction.
- Actions post-build : Cette section permet à l'utilisateur de fournir des paramètres aux actions post-build qui seraient exécutées une fois que l'exécution de la build est terminée.
Prenons une longueur d’avance et configurons le travail avec les paramètres nécessaires. L'utilisateur peut laisser les options sous «Paramètres généraux du travail» et «Options de travail avancées» à leur état par défaut.
Configuration de la gestion du code source
Nous avons beaucoup parlé de la création du projet Hudson dans les sections ci-dessus de ce tutoriel. Le projet Hudson est généralement utilisé avec un projet réel (code source) qui est lié à un système de gestion de code source particulier. Comme mentionné au début de ce didacticiel, Hudson prend en charge une grande variété de SCM. Pour n'en nommer que quelques-uns, Hudson supporte CVS, Git, SVN etc. Ainsi, dans ce tutoriel, nous allons configurer Subversion (SVN) comme SCM.
Étape 1 : Sélectionnez l'option «Subversion». Dès que l'utilisateur sélectionne Subversion, les options suivantes apparaissent.
Étape 2: L'étape suivante consiste à fournir l ''URL du référentiel' du SVN. Comme j'ai créé un référentiel local, je fournirais une URL de référentiel local. Un référentiel local peut être créé en utilisant Tortoise SVN.
quelle est la meilleure application d'espionnage
Conservez tous les autres paramètres de cette section par défaut.
Sélection des déclencheurs de construction
L'étape suivante consiste à configurer les déclencheurs de construction. Hudson vous permet de définir des déclencheurs pour lancer automatiquement le processus d'exécution de la construction. L'utilisateur peut configurer le travail pour qu'il se crée automatiquement si un autre projet / travail est créé. Alternativement, l'utilisateur peut également définir la construction pour qu'elle s'exécute périodiquement, c'est-à-dire planifier l'exécution de la construction ou l'utilisateur peut également planifier une construction pour rechercher de nouveaux commits dans le SCM et déclencher l'exécution si l'un des utilisateurs peut également définir pour lancer l'exécution de la construction chaque fois qu'il y a une mise à jour des dépendances maven à condition que votre projet soit un projet basé sur Maven.
Pour définir ces options, tout ce que vous avez à faire est de sélectionner le déclencheur de construction souhaité. L'utilisateur peut également sélectionner plus d'une option à la fois.
Lors de la sélection de l'un des déclencheurs ci-dessus, l'utilisateur peut devoir fournir des informations supplémentaires spécifiques au type de déclencheur.
- Construire après la construction des autres jobs: le nom des jobs qui peuvent déclencher l'exécution de ce job doit être mentionné.
- Construire périodiquement: le calendrier doit être mentionné. Il existe un protocole spécifique à suivre pour mentionner le calendrier. Plus d'informations sur le calendrier sont affichées ci-dessous:
- Poll SCM: l'utilisateur doit spécifier le calendrier. Le champ agit de la même manière que celui de «Construire périodiquement».
- Construire lorsque les dépendances Maven ont été mises à jour par l'intégration Maven 3: cette section ne nécessite aucune entrée pour être soumise.
Pour plus d'informations, développez les icônes d'aide.
Si l'utilisateur ne souhaite définir aucun de ces déclencheurs de génération, il peut décider de créer la tâche / le projet manuellement. Tout ce qu'il / elle a à faire est de cliquer sur le lien «Construire maintenant» affiché dans le menu de gauche.
Appel des étapes de construction
Maintenant que nous avons vu toutes les étapes de base pour configurer un projet de build, allons de l'avant et ajoutons quelques étapes de build supplémentaires. Cette section permet à l'utilisateur de définir sa construction avec plusieurs étapes de construction.
Chacune des étapes de construction a sa propre convention à définir et à appeler.
Par exemple, consultez l'invocation ANT ci-dessous:
Configurer les actions post-build
Parfois, il devient nécessaire et vital d'effectuer certaines actions post-build. Les actions post-build ne sont rien d'autre que des actions qui sont déclenchées une fois la build exécutée. L'utilisateur est mis à profit pour déclencher plus d'une action post-construction s'il le souhaite.
Comme nous le savons tous, les états et les rapports d'exécution de build sont l'un des artefacts ou critères de sortie les plus importants pour un cycle de vie de développement logiciel. Par conséquent, Hudson vous permet de publier le rapport d'exécution de construction, de générer de la documentation, de générer des exécutables / archives, etc.
Les rapports d'exécution des tests peuvent être publiés et envoyés aux parties prenantes par e-mail. Les résultats de cette génération peuvent déclencher l'exécution d'une autre génération.
Les actions post-build sont nombreuses, prenons un moment pour discuter des plus élémentaires.
#1. Agréger les résultats des tests en aval - Le paramètre permet à l'utilisateur d'agréger les résultats d'exécution de test de ce travail et des travaux en aval pour produire des résultats de test plus percutants. Tout ce que l'utilisateur doit faire est de fournir le nom du travail en aval. Dans le cas où l'utilisateur ne souhaite pas fournir de travail en aval mais souhaite tout de même exploiter le paramètre, il peut diriger l'Hudson pour trouver tous les projets en aval.
# 2. Enregistrez les empreintes digitales des fichiers pour suivre l'utilisation - Le paramètre peut être utilisé par l'utilisateur pour localiser où un fichier particulier a été utilisé.
# 3. Publier le rapport de résultat du test JUnit - Le paramètre permet à l'utilisateur de publier le rapport de test JUnit en lisant et en comprenant le rapport personnalisé généré par JUnit. Le rapport de résultat de test JUnit fournit à l'utilisateur une interface Web pour afficher les rapports créés. Ces rapports peuvent être envoyés par e-mail aux parties prenantes. Pour activer cette option, tout ce que l'utilisateur est tenu de faire est de fournir le chemin d'accès au rapport personnalisé généré par JUnit.
# 4. Archiver les artefacts - Ce paramètre permet à l'utilisateur de créer des artefacts qui peuvent être distribués pour une utilisation ultérieure. L'artefact peut être produit après chaque construction réussie. Ces artefacts sont directement accessibles par l'utilisateur via l'interface Web. Les artefacts peuvent être des exécutables de version sous la forme de fichiers war, de fichiers jar, de dossiers compressés ou tar.
# 5. Publier Javadoc - Ce paramètre vous permet de publier le document java aux clients et aux utilisateurs sur l'interface Web Hudson à condition que votre projet génère le document java. Pour activer cette option, un utilisateur doit fournir l'emplacement du document Java par rapport au répertoire Javadoc.
Si l'utilisateur coche pour cocher l'option 'Conserver Javadoc pour chaque build réussie', le Javadoc nouvellement généré sera enregistré dans le dossier spécifié. Ainsi, tous les Javadocs correspondant à la construction réussie seraient conservés.
# 6. Créer d'autres emplois - Le paramètre permet à l'utilisateur de déclencher l'exécution d'autres travaux une fois que ce travail est exécuté. L'utilisateur peut déclencher l'exécution de plusieurs travaux à la fois. Le paramètre peut être utile pour exécuter des scénarios de test unitaire et de test d'intégration. L'utilisateur peut même définir l'option de création d'autres travaux même si ce travail échoue (instable).
#7. Publier le rapport de couverture Cobertura - Cobertura est un outil de test basé sur Java qui analyse la couverture de code de votre projet, c'est-à-dire qu'il évalue le pourcentage de code couvert par les tests. Ainsi, le paramètre permet à l'utilisateur de générer un rapport avec l'analyse de la couverture du code. Le paramètre nécessite quelques paramètres à fournir avant de pouvoir obtenir un rapport de test complet sur la couverture du code. Notez que ce paramètre ne vient pas par défaut, c'est-à-dire qu'il nécessite l'installation d'un plugin (ce que nous avons fait au moment de l'installation car il fait généralement partie des plugins suggérés).
(Clique sur l'image pour l'agrandir)
# 8. Notification par e-mail - La notification par e-mail est l'une des actions post-build les plus importantes. L'option permet à l'utilisateur d'envoyer l'e-mail de notification de construction aux parties prenantes (développeurs, testeurs, propriétaires de produit, etc.) en configurant leurs identifiants d'e-mail. Hudson peut envoyer l'e-mail lorsque la construction est instable, réussie, échouée, etc. L'utilisateur peut également définir des déclencheurs de notification par e-mail. L'e-mail de notification peut être envoyé à plusieurs destinataires en même temps simplement en fournissant un espace blanc entre leurs identifiants de messagerie. Reportez-vous à la capture d'écran ci-dessous pour vérifier comment ces paramètres peuvent être fournis.
(Clique sur l'image pour l'agrandir)
Remarques:
- L'utilisateur peut à tout moment revenir sur cette page et modifier les paramètres si nécessaire.
- L'utilisateur peut afficher les informations sur chaque option dans l'icône d'aide qui lui est associée.
- L'utilisateur peut ajouter d'autres actions post-build à l'aide de plugins.
Conclusion
Dans ce tutoriel, nous vous avons familiarisé avec le concept d'intégration continue. Nous avons également mis l’accent sur son importance au cours du cycle de vie du développement logiciel, en particulier dans la vie d’un développeur ou d’un testeur.
Tutoriel suivant # 26 : En avançant dans la série, nous discuter de certains concepts avancés de Selenium cela aiderait directement ou indirectement à optimiser le cadre d'automatisation et apporterait plus de visibilité aux utilisateurs. Ainsi, dans le prochain tutoriel, nous discuterons de la fonction de journalisation, de son potentiel, des capacités de débogage et bien plus encore.
Noter: Ce didacticiel fait partie de Selenium ainsi que de la série de didacticiels DevOps. Cliquez sur le lien ci-dessous pour accéder aux didacticiels précédents et suivants de la série DevOps.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- Tutoriels Eclipse détaillés pour les débutants
- Intégration de Selenium avec JMeter
- Test d'automatisation à l'aide de l'outil Cucumber et du sélénium - Tutoriel Selenium # 30
- Spock pour l'intégration et les tests fonctionnels avec sélénium
- Utilisation de Maven Build Automation Tool et Maven Project Setup for Selenium - Selenium Tutorial # 24
- Intégration de Jenkins avec Selenium WebDriver: tutoriel pas à pas
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8