hudson continuous integration tool tutorial selenium tutorial 25
In de laatste twee tutorials in de Selenium-serie hebben we de twee belangrijkste build-tools besproken - MIER en Maven We bespraken hun betekenis en praktisch belang.
In onze vorige tutorial in de DevOps-serie hebben we geleerd over Integratie van Jenkins met Selenium
In de huidige Selenium online training tutorial , we zouden een tool voor continue integratie, bekend als Hudson
Doorlezen => Voorbeeldige gids over DevOps
Notitie: Deze tutorial maakt zowel deel uit van Selenium als van DevOps-tutorialseries. Klik op de juiste links om naar de betreffende serie te navigeren.
We zouden het belang en de voordelen ervan bestuderen elk hulpmiddel voor continue integratie We zouden de Hudson vanaf het begin rechtstreeks bekijken, van de installatie tot de geavanceerde instellingen.
Wat je leert:
- Continue integratie
- Hudson - tool voor continue integratie
- Hudson Installatie
- Hudson-configuratie
- E-mailmelding configureren
- Het Hudson-project creëren
- Hudson Project configureren
- Broncodebeheer configureren
- Build-triggers selecteren
- Build Steps aanroepen
- Acties na het bouwen configureren
- Gevolgtrekking
- Aanbevolen literatuur
Continue integratie
Vaak werken we aan een project waar een groot aantal ontwikkelaars en testers samen aan verschillende modules werken. Ontwikkelaars en testers werken aan hun modules en ontwikkelen zo uitvoerbare bestanden. Deze werkproducten worden vervolgens met regelmatige tussenpozen geïntegreerd. Dus elke keer dat we een ontwikkelcode maken, moet deze worden geïntegreerd, getest en gebouwd om ervoor te zorgen dat de ontwikkelde code niet kapot gaat of fouten of defecten introduceert.
Dit proces van het bouwen en testen van het ontwikkelingswerk dat met regelmatige tussenpozen is geïntegreerd, staat bekend als Continue integratie (CI) Met continue integratie kunt u de defecten of fouten zo snel mogelijk in de ontwikkelingscyclus identificeren en verhelpen, d.w.z. dichter bij de tijd dat ze werden geïntroduceerd.
Continuous Integration-systeem bouwt en test de applicatie zodra de nieuwe / gewijzigde code wordt toegewezen aan de afkorting van het Source Control Management-systeem als SCM. Met zijn grote voordelen en impact op de industrieën, is het een integraal onderdeel geworden van de levenscyclus van softwareontwikkeling en wordt het verplicht toegepast.
Hudson - tool voor continue integratie
Continue integratie kan automatisch worden uitgevoerd. Hudson is een van de algemeen bekende tools om continue integratie uit te voeren. Hudson is een op Java gebaseerde open source Continuous Integration-tool. Net als elke andere Continuous Integration-tool, stelt Hudson de teams in staat om builds en tests te starten bij elke wijziging in het Source Control Management System.
Hudson ondersteunt een groot aantal tools en plug-ins.
Hudson:
- Ondersteunt SCM-tools zoals CVS, Subversion (SVN), Git etc.
- Is in staat om ANT-gebaseerde projecten, Maven-gebaseerde projecten etc. te bouwen
- Is in staat om shell-scripts en Windows-batchopdrachten uit te voeren
- Is in staat om rapporten, notificaties etc. te versturen via e-mail, sms, Skype etc.
Hudson Installatie
Eerste vereisten
Om Hudson te kunnen gebruiken, moeten de volgende zaken aanwezig zijn voordat we aan de slag gaan:
- Broncode-opslagplaats (SVN / Git / CVS etc.)
- Build Script (Ant / Maven etc.)
Installatie
Hudson kan eenvoudig worden geïnstalleerd op verschillende omgevingen. Hudson kan zowel op de Linux-machine als op de Windows-machine worden geïnstalleerd. Het wordt ook gedistribueerd als een pakket dat specifiek is voor het OS-type voor verschillende Linux-smaken, waardoor de installatie een paar minuten durende taken verloopt. Hudson kan worden uitgevoerd als een zelfstandige applicatie of binnen de Servlet Container. In deze tutorial leggen we de Hudson-installatie op een Windows-computer uit. Er zijn twee verschillende benaderingen om Hudson te installeren.
- WAR-bestand gebruiken
- Native pakket gebruiken
Native pakketten zijn beschikbaar voor Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS en openSUSE.
Voor deze tutorial bespreken we de installatie per WAR-bestand. Laten we het hele proces stap voor stap bespreken.
Stap 1 : Download het Hudson WAR-bestand van de officiële website van Hudson - ' http://hudson-ci.org/ Bewaar het war-bestand op de gewenste locatie in het lokale bestandssysteem. Dit WAR-bestand kan direct worden gestart via de opdrachtprompt of kan worden gebruikt in Servlet Container. De WAR is een uitvoerbaar bestand waarin een Servlet-container is ingebed.
Stap 2 : De volgende stap is het initialiseren van de Hudson webgebruikersinterface. Hiervoor moeten we een opdrachtprompt openen en naar de map gaan waar Hudson-oorlog wordt bewaard.
- Typ java -jar hudson-3.0.1.war –httpPort = 8099
Het bovenstaande commando laat zien dat de initiële setup moet worden uitgevoerd op Hudson Dashboard. Raadpleeg het onderstaande scherm.
(Klik om afbeelding te vergroten)
Opmerking: het is aan te raden om Hudson als een service op een Windows- of Linux-machine te starten.
Stap 3 : Om toegang te krijgen tot het Hudson-venster, opent u uw browser en start u Hudson.
- Typ 'http: // localhost: 8099 /' - Dit zal het Hudson-venster openen.
(Klik om afbeelding te vergroten)
Stap 4 : Selecteer de gewenste plug-ins en klik op de knop Voltooien. Even geduld, want het zal waarschijnlijk een paar minuten duren om alle plug-ins te installeren.
Opmerking : Er zijn verschillende opties beschikbaar om ondersteuning te bieden voor SCM. Vink de SCM-optie aan die u wilt gebruiken.
Zodra alle plug-ins zijn geïnstalleerd, kan een gebruiker het Hudson Dashboard bekijken.
Hudson-configuratie
Nu het Hudson Dashboard klaar is, is de volgende stap het configureren van de Hudson. Laten we het hele proces opnieuw in stappen bespreken:
Stap 1 : Om de Hudson te configureren, klikt u op de link 'Hudson beheren' in het linkermenu.
Stap 2 : Klik in de volgende stap op de link 'Systeem configureren'. Raadpleeg de volgende schermafbeelding.
Stap 3 : Zodra u op de link Systeem configureren klikt, zouden er talrijke secties voor verbindingsparameters moeten zijn. Voeg een vermelding toe aan JDK zoals weergegeven in de volgende afbeelding. De gebruiker moet de naam van de JDK-installatie opgeven en de locatie waar java is geïnstalleerd. Er kunnen meer dan één Java-instantie worden toegevoegd.
De gebruiker kan JDK ook automatisch installeren door het selectievakje 'Automatisch installeren' aan te vinken.
Stap 4 : Voeg in de volgende stap een vermelding toe aan Ant, zoals weergegeven in de volgende afbeelding. De gebruiker moet de naam van de Ant-installatie opgeven en de locatie waar Ant lokaal is geïnstalleerd.
Net als JDK en Ant kan een gebruiker andere verbindingsparameters configureren.
Opmerking : Denk er altijd aan om het selectievakje 'Automatisch installeren' uit te schakelen. Het selectievakje moet worden aangevinkt als u het artefact van internet wilt downloaden.
E-mailmelding configureren
Het gedeelte E-mailmelding wordt aan het einde van dezelfde webpagina weergegeven. De gebruiker moet de volgende velden configureren:
Klik op een geavanceerde knop om alle opties met betrekking tot e-mailmelding te zien.
- SMTP-server: SMTP-server slaat de informatie over de SMTP-server op, d.w.z. het IP-nummer of de volledig gekwalificeerde naam van de server. Ter demonstratie gebruiken we in deze tutorial de SMTP-server van Gmail.
- Standaard achtervoegsel van e-mailadres van gebruiker : In dit veld kan een achtervoegsel voor een e-mail worden opgegeven, dat kan worden toegevoegd aan de gebruikersnaam en kan worden gebruikt om de e-mailmelding te verzenden.
- E-mailadres systeembeheerder : E-mailadres van de beheerder wordt gebruikt als het e-mailadres van de afzender van waaruit alle meldingen zouden worden verzonden.
- Hudson-URL : Als u waarschijnlijk rapporten publiceert of informatie samenstelt binnen de e-mailmelding, moet de Hudson-URL worden opgegeven. De Hudson-URL wordt gebruikt om toegang te krijgen tot de rapporten. Er moet echter een geldige URL worden opgegeven, als alle ontvangers verbonden zijn met het intranet, dan kan ook het IP-adres van de machine die Hudson host, worden opgegeven.
- Gebruik SMTP-verificatie : Als u deze optie inschakelt, worden de gebruikersnaam en het wachtwoordveld weergegeven voor authenticatiedoeleinden.
- Gebruik SS L: De gebruiker kan SSL activeren door deze optie te selecteren om verbinding te maken met de SMTP-server.
- SMTP-poort: De gebruiker moet in dit veld het poortnummer opgeven dat wordt gebruikt om te communiceren met de mailserver. Als er geen poortnummers zijn opgegeven, worden de standaardpoortnummers toegewezen.
- Tekenset : Dit veld specificeert de tekenset die wordt gebruikt om e-mails op te stellen.
Zoals we al zeiden dat we de Gmail-mailserver zouden gebruiken om e-mailmeldingen te verzenden in deze zelfstudie, raadpleeg de volgende schermafbeeldingen en breng de nodige wijzigingen aan in de sectie E-mailmelding.
Klik op de knop Opslaan om alle nieuw gemaakte wijzigingen op te slaan.
Het Hudson-project creëren
Nu we de Hudson op onze machines hebben geïnstalleerd en geconfigureerd, gaan we verder en creëren we Hudson Projects. Net als bij Hudson-configuratie, hebben we verschillende configuratie-opties voor een Hudson-project. In deze zelfstudie belichten we de handigste en meest gebruikte opties en uitbreidingen.
Volg de volgende stappen om een nieuw Hudson-project te maken en te configureren:
Klik op de optie 'Nieuwe baan' die in het linkermenu wordt weergegeven. De volgende pagina wordt geopend met de opties met betrekking tot het maken van projecten en projectstijlen.
Er zijn talloze stijlen waarin het project / de taak kan worden gemaakt. Houd er rekening mee dat project en taak door elkaar kunnen worden gebruikt, omdat ze allebei hetzelfde betekenen.
- Bouw een software-jo in vrije stijl b: Dit is de meest gebruikte methode om een nieuwe Hudson Job aan te maken.
- Bouw een taak met meerdere configuraties : Deze stijl van project wordt gebruikt om de verscheidenheid aan taken uit te voeren.
- Monitor een externe job : Deze stijl van project bewaakt een externe taak.
- Kopieer een bestaande taak : Als we een project hebben dat lijkt op een bestaand project, dan kan deze stijl nuttig zijn. Het enige dat u hoeft te doen, is de naam van de bestaande taak opgeven en de replica van deze taak wordt gemaakt.
Voor deze tutorial zouden we echter een freestyle Hudson-project maken. Typ de naam van de job die u wilt maken en klik op de knop OK. Als u op OK klikt, gaat u naar de configuratiepagina van Job, zoals hieronder weergegeven:
Hudson Project configureren
Zodra we de Hudson-taak hebben gemaakt, is het tijd om deze te configureren. Net als Hudson-configuratie heeft Hudson Job ook verschillende configuratie-instellingen. Laten we hier de belangrijkste bespreken.
Om specifiek te zijn, er zijn namelijk zes soorten instellingen om een taak te configureren:
- Algemene taakinstellingen : In dit gedeelte kan de gebruiker de basisinformatie over de job vermelden. De gebruiker kan de taakomschrijving indienen, de taak uitschakelen, de taak parametriseren, de oudere builds weggooien en kan meer dan één build tegelijkertijd voor dezelfde taak uitvoeren.
- Geavanceerde taakopties : In dit gedeelte kan de gebruiker enkele geavanceerde opties configureren.
- Broncodebeheer : In dit gedeelte kunt u de instellingen opgeven met betrekking tot het broncodebeheersysteem. Selecteer 'None' als er geen SCM wordt gebruikt. Houd er rekening mee dat de gebruiker alleen die SCM-opties zou kunnen zien waarvan de plug-in was geïnstalleerd op het moment dat Hudson werd geïnstalleerd. Om meer SCM aan de Hudson toe te voegen, kan een gebruiker de pagina Plug-ins beheren bezoeken en de vereiste plug-ins installeren.
- Bouw triggers : In dit gedeelte kan de gebruiker beslissen hoe de build moet worden uitgevoerd.
- Bouwen : In dit gedeelte kan de gebruiker de instellingen voor het buildmechanisme opgeven.
- Acties na het bouwen : In deze sectie kan de gebruiker instellingen opgeven voor de post-build acties die zouden worden uitgevoerd zodra de build is voltooid.
Laten we een stap verder gaan en de job configureren met de nodige instellingen. De gebruiker kan de opties onder 'Algemene taakinstellingen' en 'Geavanceerde taakopties' op hun standaardstatus laten staan.
Broncodebeheer configureren
We hebben veel gesproken over de oprichting van het Hudson-project in de bovenstaande secties van deze tutorial. Hudson-project wordt gewoonlijk gebruikt met een actueel project (broncode) dat is gekoppeld aan een bepaald broncodebeheersysteem. Zoals vermeld aan het begin van deze tutorial, heeft Hudson een geweldige ondersteuning voor een verscheidenheid aan SCM's. Om er maar een paar te noemen, Hudson ondersteunt CVS, Git, SVN enz. Dus in deze tutorial zullen we Subversion (SVN) configureren als SCM.
Stap 1 : Selecteer de optie 'Subversion'. Zodra de gebruiker Subversion selecteert, verschijnen de volgende opties.
Stap 2: De volgende stap is het verstrekken van de 'Repository-URL' van de SVN. Omdat ik een lokale repository heb gemaakt, zou ik een lokale repository-URL opgeven. Met Tortoise SVN kan een lokale opslagplaats worden gemaakt.
top 10 wervingsbureaus ter wereld
Houd alle andere instellingen in dit gedeelte op de standaardinstellingen.
Build-triggers selecteren
De volgende stap is het configureren van de buildtriggers. Met Hudson kunt u triggers instellen om het build-uitvoeringsproces automatisch te starten. De gebruiker kan de taak configureren om automatisch te bouwen als een ander project / taak wordt gebouwd. Als alternatief kan de gebruiker ook instellen dat de build periodiek wordt uitgevoerd, dwz de uitvoering van de build plannen of de gebruiker kan ook een build plannen om te zoeken naar nieuwe commits in de SCM en de uitvoering activeren als een van de gebruikers ook kan instellen om de build te starten wanneer die er is een update in de maven-afhankelijkheden, op voorwaarde dat uw project een op Maven gebaseerd project is.
Om deze opties in te stellen, hoeft u alleen maar de gewenste buildtrigger te selecteren. De gebruiker wordt ook gebruikt om meer dan één optie tegelijk te selecteren.
Bij het selecteren van een van de bovenstaande triggers, moet de gebruiker mogelijk aanvullende informatie opgeven die specifiek is voor het triggertype.
- Bouwen nadat andere taken zijn gebouwd: de naam van de taken die de uitvoering van deze taak kunnen activeren, moet worden vermeld.
- Bouw periodiek: het schema moet worden vermeld. Er is een specifiek protocol dat moet worden gevolgd om het schema te vermelden. Meer informatie over het schema wordt hieronder weergegeven:
- Poll SCM: de gebruiker moet het schema specificeren. Het veld werkt hetzelfde als dat van 'Periodiek opbouwen'.
- Bouw wanneer Maven-afhankelijkheden zijn bijgewerkt door Maven 3-integratie: voor deze sectie hoeft geen invoer te worden ingediend.
Meer informatie is te vinden door de Help-pictogrammen uit te vouwen.
Als de gebruiker geen van deze bouwtriggers wil instellen, kan hij / zij besluiten de taak / het project handmatig op te bouwen. Het enige wat hij / zij hoeft te doen is klikken op de 'Build Now' -link in het linkermenu.
Build Steps aanroepen
Nu we alle basisstappen hebben gezien om een bouwproject te configureren, kunnen we doorgaan en nog wat bouwstappen toevoegen. In deze sectie kan de gebruiker zijn / haar build definiëren met meerdere buildstappen.
Elk van de build-stappen heeft zijn eigen conventie om te definiëren en aan te roepen.
Bekijk bijvoorbeeld de ANT-aanroep hieronder:
Acties na het bouwen configureren
Soms wordt het noodzakelijk en ook essentieel om bepaalde post-build acties uit te voeren. Post-build acties zijn niets anders dan enkele acties die worden geactiveerd zodra de build is uitgevoerd. De gebruiker wordt gebruikt om meer dan één actie na het bouwen te activeren als hij / zij dat wenst.
Zoals we allemaal weten, zijn de uitvoeringsstatussen en rapporten van de build een van de belangrijkste artefacten of exitcriteria voor een levenscyclus van softwareontwikkeling. Daarom laat Hudson u het build-uitvoeringsrapport publiceren, documentatie genereren, uitvoerbare bestanden / archieven genereren enz.
Testuitvoeringsrapporten kunnen worden gepubliceerd en via e-mail naar de belanghebbenden worden gestuurd. Resultaten van deze build kunnen de uitvoering van een andere build activeren.
Er zijn veel acties na het bouwen, laten we even de tijd nemen om de meest elementaire acties te bespreken.
# 1. Verzamel testresultaten stroomafwaarts - Met deze instelling kan de gebruiker de testuitvoeringsresultaten van deze taak en downstream-taken samenvoegen om meer impactvolle testresultaten te produceren. Het enige dat de gebruiker hoeft te doen, is de naam van de stroomafwaartse taak op te geven. In het geval dat de gebruiker geen stroomafwaartse baan wil bieden maar toch gebruik wil maken van de omgeving, kan hij de Hudson opdracht geven om alle stroomafwaartse projecten te vinden.
# 2. Neem vingerafdrukken van bestanden op om het gebruik bij te houden - De instelling kan door de gebruiker worden gebruikt om op te sporen waar een bepaald bestand is gebruikt.
# 3. Publiceer het JUnit-testresultatenrapport - Met deze instelling kan de gebruiker het JUnit-testrapport publiceren door het door JUnit gegenereerde aangepaste rapport te lezen en te begrijpen. Het JUnit-testresultatenrapport biedt de gebruiker een webinterface om de gemaakte rapporten te bekijken. Deze rapporten kunnen via de e-mails naar de belanghebbenden worden gestuurd. Om deze optie in te schakelen, hoeft de gebruiker alleen maar het pad op te geven naar het aangepaste rapport dat door JUnit is gegenereerd.
# 4. Archiveer de artefacten - Met deze instelling kan de gebruiker artefacten maken die kunnen worden gedistribueerd voor verder gebruik. Het artefact kan worden geproduceerd na elke succesvolle build. Deze artefacten zijn rechtstreeks toegankelijk voor de gebruiker via de webinterface. Artefacten kunnen uitvoerbare bestanden zijn in de vorm van war-bestanden, jar-bestanden, gezipte of tar-mappen.
# 5. Publiceer Javadoc - Met deze instelling kunt u het java-document publiceren naar klanten en gebruikers op de Hudson-webinterface, op voorwaarde dat uw project het java-document genereert. Om deze optie in te schakelen, moet een gebruiker de locatie van het Java-document in de Javadoc-directory opgeven.
Als de gebruiker aanvinkt om de optie 'Javadoc behouden voor elke succesvolle build' te markeren, wordt de nieuw gegenereerde Javadoc opgeslagen in de opgegeven map. Alle Javadocs die overeenkomen met de succesvolle build, blijven dus behouden.
# 6. Bouw andere banen - Met deze instelling kan de gebruiker de uitvoering van andere taken activeren zodra deze taak is uitgevoerd. De gebruiker kan de uitvoering van meer dan één taak tegelijkertijd activeren. De instelling kan handig zijn om unit-test- en integratietestscenario's uit te voeren. De gebruiker kan zelfs de optie instellen om andere taken te bouwen, zelfs als deze taak mislukt (onstabiel).
# 7. Publiceer Cobertura Coverage Report - Cobertura is een op Java gebaseerde testtool die de codedekking van uw project analyseert, d.w.z. het beoordeelt het percentage code dat door de tests wordt gedekt. Met deze instelling kan de gebruiker dus een rapport genereren met analyse van de codedekking. De instelling vereist dat een paar parameters worden opgegeven voordat u een volledig testrapport over codedekking kunt krijgen. Houd er rekening mee dat deze instelling niet standaard is, d.w.z. dat er een plug-in moet worden geïnstalleerd (wat we deden op het moment van installatie, aangezien het over het algemeen een onderdeel is van de voorgestelde plug-ins).
(Klik op afbeelding om te vergroten)
# 8. E-mail notificatie - E-mailmelding is een van de belangrijkste acties na het bouwen. Met deze optie kan de gebruiker de build-notificatie-e-mail naar de belanghebbenden (ontwikkelaars, testers, producteigenaren enz.) Sturen door hun e-mail-ID's te configureren. Hudson kan de e-mail verzenden wanneer de build onstabiel, succesvol, mislukt etc. is. De gebruiker kan ook triggers voor e-mailnotificatie instellen. De notificatie-e-mail kan naar meer dan één ontvanger tegelijk worden verzonden door gewoon een witruimte tussen hun e-mail-ID's op te geven. Raadpleeg de onderstaande schermafbeelding om te controleren hoe deze instellingen kunnen worden verstrekt.
(Klik op afbeelding om te vergroten)
Opmerkingen:
- De gebruiker kan op elk moment terugkeren naar deze pagina en de instellingen indien nodig wijzigen.
- De gebruiker kan de informatie over elke optie bekijken in het bijbehorende Help-pictogram.
- De gebruiker kan meer post-build acties toevoegen met behulp van plug-ins.
Gevolgtrekking
In deze tutorial hebben we je kennis laten maken met het concept van continue integratie. We hebben ook de nadruk gelegd op het belang ervan tijdens de levenscyclus van softwareontwikkeling, vooral in het leven van een ontwikkelaar of tester.
Volgende les # 26 : We gaan vooruit in de serie bespreek enkele geavanceerde seleniumconcepten dat direct of indirect zou helpen bij het optimaliseren van het automatiseringsraamwerk en meer zichtbaarheid voor de gebruikers. Daarom bespreken we in de volgende tutorial de logging-functie, het potentieel, debugging-mogelijkheden en nog veel meer.
Notitie: Deze tutorial maakt zowel deel uit van Selenium als van DevOps-tutorialseries. Klik op de onderstaande link voor vorige en volgende tutorials uit de DevOps-serie.
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Diepgaande Eclipse-zelfstudies voor beginners
- Integratie van selenium met JMeter
- Automatiseringstests met behulp van komkommer-tool en selenium - Selenium-zelfstudie # 30
- Spock voor integratie en functioneel testen met selenium
- Gebruik van Maven Build Automation Tool en Maven Project Setup voor Selenium - Selenium Tutorial # 24
- Integratie van Jenkins met Selenium WebDriver: stapsgewijze zelfstudie
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8