hudson continuous integration tool tutorial selenium tutorial 25
I de sidste to tutorials i Selenium-serien diskuterede vi de to vigtigste buildværktøjer - MYRE og Maven . Vi diskuterede deres betydning og praktiske betydning.
I vores tidligere tutorial i DevOps-serien lærte vi om Integration af Jenkins med selen .
I den nuværende Selen online træning tutorial , ville vi diskutere en kontinuerligt integrationsværktøj kendt som Hudson .
Læs igennem => Eksemplarisk guide til DevOps
Bemærk: Denne tutorial er en del af såvel Selen som DevOps tutorial-serien. Klik på de relevante links for at navigere til den pågældende serie.
Vi vil undersøge dets betydning og fordele, som vi får ud af ethvert kontinuerligt integrationsværktøj . Vi ville se på Hudson lige fra starten, fra installationen til de avancerede indstillinger.
Hvad du vil lære:
- Kontinuerlig integration
- Hudson - Kontinuerligt integrationsværktøj
- Hudson Installation
- Hudson-konfiguration
- Konfiguration af e-mail-underretning
- Oprettelse af Hudson-projektet
- Konfiguration af Hudson-projektet
- Konfiguration af kildekodestyring
- Valg af Build Triggers
- Påkaldelse af byggetrin
- Konfiguration af handlinger efter byggeriet
- Konklusion
- Anbefalet læsning
Kontinuerlig integration
Mange gange ender vi med at arbejde på et projekt, hvor en stor flok udviklere og testere arbejder sammen om forskellige moduler. Udviklere og testere arbejder på deres moduler og udvikler dermed eksekverbare filer. Disse arbejdsprodukter integreres derefter med regelmæssige intervaller. Hver gang vi opretter en udviklingskode, skal den således integreres, testes og bygges for at sikre, at den udviklede kode ikke bryder eller introducerer fejl eller mangler.
Denne proces med at opbygge og teste udviklingsarbejdet integreret med regelmæssige intervaller er kendt som Kontinuerlig integration (CI) . Kontinuerlig integration giver dig mulighed for at identificere og løse manglerne eller fejlene så hurtigt som muligt i udviklingslivscyklussen, dvs. tættere på det tidspunkt, de blev introduceret.
Kontinuerligt integrationssystem bygger og tester applikationen, så snart den nye / ændrede kode er forpligtet til kildekontrolstyringsakronymet SCM. Med sine store fordele og indflydelse over brancher er det blevet en integreret del af softwareudviklings livscyklus og praktiseres obligatorisk.
Hudson - Kontinuerligt integrationsværktøj
Kontinuerlig integration kan udføres automatisk. Hudson er et af de populært kendte værktøjer til at udføre kontinuerlig integration. Hudson er et Java-baseret open source kontinuerligt integrationsværktøj. Som ethvert andet kontinuerligt integrationsværktøj giver Hudson holdene til at udløse builds og tests med enhver ændring i Source Control Management System.
Hudson understøtter en lang række værktøjer og plugins.
Hudson:
- Understøtter SCM-værktøjer som CVS, Subversion (SVN), Git osv.
- Er i stand til at bygge ANT-baserede projekter, Maven-baserede projekter osv.
- Er i stand til at udføre shell-scripts og Windows-batchkommandoer
- Er i stand til at sende rapporter, meddelelser osv. Via e-mail, SMS, Skype osv.
Hudson Installation
Forudsætninger
For at kunne bruge Hudson har vi brug for følgende ting, før vi kommer i gang:
- Kildekodelager (SVN / Git / CVS osv.)
- Byg script (Ant / Maven osv.)
Installation
Hudson kan let installeres i forskellige miljøer. Hudson kan installeres på både Linux-maskinen og Windows-maskinen. Det distribueres også som en pakke, der er specifik for OS-typen til forskellige Linux-varianter, hvilket gør installationen et par minutters opgaver. Hudson kan køres som et enkeltstående program eller i Servlet Container. I denne vejledning forklarer vi Hudson Installation på Windows-maskine. Der er to forskellige tilgange til installation af Hudson.
- Brug af WAR-fil
- Brug af indbygget pakke
Indfødte pakker er tilgængelige til Ubuntu / Debian, Oracle Linux, Redhat / Fedora / CentOS og openSUSE.
Til denne vejledning vil vi diskutere installation af WAR-fil. Lad os diskutere hele processen trin for trin.
Trin 1 : Download Hudson WAR-filen fra Hudsons officielle hjemmeside - “ http://hudson-ci.org/ ”. Hold krigsfilen på det ønskede sted i det lokale filsystem. Denne WAR-fil kan startes direkte via kommandoprompt eller kan bruges i Servlet Container. WAR er en eksekverbar fil, der har en Servlet Container integreret i sig selv.
Trin 2 : Det næste trin er at initialisere Hudson web-brugergrænsefladen. Til dette er vi nødt til at åbne en kommandoprompt og gå til den mappe, hvor Hudson-krigen holdes.
- Skriv java -jar hudson-3.0.1.war –httpPort = 8099
Ovenstående kommando viser, at den oprindelige opsætning skal udføres på Hudson Dashboard. Se nedenstående skærm.
(Klik for at forstørre billedet)
Bemærk: Det tilrådes at starte Hudson som en tjeneste på en Windows- eller Linux-maskine.
Trin 3 : For at få adgang til Hudson-vinduet skal du åbne din browser og starte Hudson.
- Skriv “http: // localhost: 8099 /” - Dette åbner Hudson-vinduet.
(Klik for at forstørre billedet)
Trin 4 : Vælg de ønskede plugins, og klik på knappen Finish. Vær tålmodig, da det sandsynligvis vil tage et par minutter at installere alle plugins.
Bemærk : Der er flere muligheder for at yde support til SCM. Marker SCM-indstillingen, du vil bruge.
Når alle plugins er installeret, kan en bruger se Hudson Dashboard.
Hudson-konfiguration
Nu hvor Hudson Dashboard er klar, er næste trin at konfigurere Hudson. Lad os igen diskutere hele processen i trin:
Trin 1 : For at konfigurere Hudson skal du klikke på linket “Manage Hudson”, der vises i menuen til venstre.
Trin 2 : Klik på linket 'Konfigurer system' i næste trin. Se følgende skærmbillede.
Trin 3 : Så snart du klikker på linket Konfigurer system, ville mange sektioner for forbindelsesparametre være. Tilføj en post til JDK som vist i følgende figur. Brugeren skal angive navnet på JDK-installationen og det sted, hvor java er installeret. Mere end en Java-forekomst kan tilføjes.
Brugeren kan også installere JDK automatisk ved at markere afkrydsningsfeltet 'Installer automatisk'.
Trin 4 : I det næste trin skal du tilføje en post til Ant som vist i den følgende figur. Brugeren skal angive navnet på Ant-installationen og det sted, hvor Ant er installeret lokalt.
Ligesom JDK og Ant kan en bruger konfigurere andre forbindelsesparametre.
Bemærk : Husk altid at fjerne markeringen i afkrydsningsfeltet 'Installer automatisk'. Afkrydsningsfeltet skal markeres, hvis du vil downloade artefakten fra internettet.
Konfiguration af e-mail-underretning
Afsnittet om e-mail-underretning vises i slutningen af den samme webside. Brugeren skal konfigurere følgende felter:
Klik på en avanceret knap for at se alle indstillinger relateret til e-mail-underretning.
- SMTP-server: SMTP Server gemmer oplysningerne om SMTP Server, dvs. IP-nummeret eller det fulde kvalificerede navn på serveren. Til demonstration: I denne vejledning bruger vi Gmails SMTP-server.
- Standard bruger-e-mail-suffiks : Der kan angives et e-mail-suffiks i dette felt, som kan blive efterfulgt af brugernavnet og kan bruges til at sende e-mail-underretningen.
- Systemadministrator-e-mail-adresse : Admin-e-mail-adresse bruges som en afsender-e-mail-id, hvorfra alle meddelelser ville blive sendt.
- Hudson URL : Hvis du sandsynligvis vil offentliggøre rapporter eller opbygge oplysninger inden for e-mail-underretningen, skal Hudson URL angives. Hudson URL vil blive brugt til at få adgang til rapporterne. Der skal angives en gyldig URL, men hvis alle modtagere er forbundet til intranettet, kan IP-adressen på maskinen, der hoster Hudson, også angives.
- Brug SMTP-godkendelse : Aktivering af denne indstilling lader feltet brugernavn og adgangskode vises til godkendelsesformål.
- Brug SS L: Brugeren kan aktivere SSL ved at vælge denne mulighed for at oprette forbindelse til SMTP-serveren.
- SMTP-port: Brugeren skal angive portnummeret i dette felt, der bruges til at kommunikere med mailserveren. Hvis der ikke er angivet portnumre, tildeles standardportnumrene.
- Charset : Dette felt specificerer det tegnsæt, der bruges til at komponere e-mails.
Som vi allerede har nævnt, at vi bruger Gmail-mailserveren til at sende e-mail-underretning i denne vejledning, skal du se følgende skærmbilleder og foretage de nødvendige ændringer i afsnittet E-mail-underretning.
Klik på knappen Gem for at gemme alle de nyligt foretagne ændringer.
Oprettelse af Hudson-projektet
Nu hvor vi har installeret og konfigureret Hudson til vores maskiner, skal vi gå videre og oprette Hudson-projekter. Ligesom Hudson-konfiguration har vi flere konfigurationsmuligheder for et Hudson-projekt. I denne vejledning kaster vi lys over de mest nyttige og populært anvendte muligheder og udvidelser.
For at oprette og konfigurere et nyt Hudson-projekt skal du følge trinene fremad:
Klik på 'Nyt job', der vises i menuen til venstre. Den næste side åbnes, der viser mulighederne relateret til projektoprettelse og projektstilarter.
Der er adskillige stilarter, hvor projektet / jobbet kan oprettes. Vær opmærksom på, at projekt og job kan bruges om hverandre, da de begge har tendens til at betyde det samme.
- Byg en fri-stil software jo b: Dette er den mest anvendte metode til at oprette et nyt Hudson Job.
- Byg job med flere konfigurationer : Denne projektstil bruges til at udføre forskellige job.
- Overvåg et eksternt job : Denne projektstil overvåger et eksternt job.
- Kopier eksisterende job : Hvis vi har et projekt, der ligner et eksisterende projekt, kan denne stil være nyttig. Alt hvad du skal gøre er at angive navnet på det eksisterende job, og kopien af dette job oprettes.
Til denne vejledning opretter vi dog et freestyle Hudson-projekt. Indtast navnet på det job, du vil oprette, og klik på knappen OK. Ved at klikke på OK landes du til Jobs konfigurationsside som vist nedenfor:
Konfiguration af Hudson-projektet
Når vi først har oprettet Hudson-jobbet, er det tid til at konfigurere det. Ligesom Hudson-konfiguration har Hudson Job også forskellige konfigurationsindstillinger. Lad os diskutere de vigtige her.
For at være specifik er der nemlig seks typer indstillinger til konfiguration af et job:
- Generelle jobindstillinger : Dette afsnit giver brugeren mulighed for at nævne de grundlæggende oplysninger om jobbet. Brugeren kan indsende jobbeskrivelsen, deaktivere jobbet, parametrere jobbet, papirkurven de ældre builds og kan udføre mere end en build for det samme job samtidigt.
- Avancerede jobmuligheder : Dette afsnit giver brugeren mulighed for at konfigurere nogle avancerede indstillinger.
- Kildekodestyring : Afsnittet giver dig mulighed for at angive de indstillinger, der er relateret til kildekodestyringssystemet. Vælg “Ingen”, hvis der ikke bruges nogen SCM. Vær opmærksom på, at brugeren kun kan se de SCM-indstillinger, hvis plugin blev installeret på tidspunktet for Hudson-installationen. For at tilføje mere SCM til Hudson kan en bruger besøge siden Administrer plugins og kan installere de nødvendige plugins.
- Byg udløsere : Dette afsnit lader brugeren beslutte, hvordan man starter build-udførelsen.
- Byg : Dette afsnit lader brugeren angive indstillingerne for byggemekanismen.
- Handlinger efter byggeriet : Dette afsnit lader brugeren angive indstillinger til de post-build-handlinger, der ville blive udført, når build-udførelsen er afsluttet.
Lad os tage et skridt foran og konfigurere jobbet med de nødvendige indstillinger. Brugeren kan lade indstillingerne under 'Generelle jobindstillinger' og 'Avancerede jobindstillinger' til deres standardtilstand.
Konfiguration af kildekodestyring
Vi har talt meget om oprettelsen af Hudson-projektet i ovenstående afsnit i denne vejledning. Hudson-projekt bruges sædvanligvis sammen med et faktisk projekt (kildekode), der er knyttet til et bestemt kildekodestyringssystem. Som nævnt i begyndelsen af denne vejledning har Hudson stor støtte til en række SCM'er. For at nævne nogle få understøtter Hudson CVS, Git, SVN osv. I denne tutorial konfigurerer vi derfor Subversion (SVN) som SCM.
Trin 1 : Vælg indstillingen 'Subversion'. Så snart brugeren vælger Subversion, vises følgende muligheder.
Trin 2: Det næste trin er at give SVN's 'Repository URL'. Da jeg har oprettet et lokalt lager, vil jeg angive en lokal lageradresse. Et lokalt lager kan oprettes ved hjælp af Tortoise SVN.
software, der er installeret på en computer og bruges til at styre virtuelle maskiner
Hold alle de andre indstillinger i dette afsnit som standard.
Valg af Build Triggers
Det næste trin er at konfigurere build-udløsere. Hudson giver dig mulighed for at indstille udløsere til automatisk at starte processen til udførelse af build. Brugeren kan konfigurere jobbet til at bygge automatisk, hvis der bygges et andet projekt / job. Alternativt kan brugeren også indstille build til at udføre med jævne mellemrum, dvs. planlægning af build-udførelse, eller bruger kan også planlægge en build for at se efter nye forpligtelser i SCM og udløse udførelse, hvis nogen af brugerne også kan indstille til at starte build-udførelser, når der er en opdatering af maven-afhængighederne, forudsat at dit projekt er et Maven-baseret projekt.
For at indstille disse muligheder er alt, hvad du skal gøre, at vælge den ønskede build-trigger. Brugeren leveres også til at vælge mere end én mulighed ad gangen.
Mens du vælger en af ovenstående udløsere, skal brugeren muligvis give nogle yderligere oplysninger, der er specifikke for udløsertypen.
- Byg efter at andre job er bygget: Navnet på de job, der kan udløse udførelsen af dette job, skal nævnes.
- Byg med jævne mellemrum: Tidsplanen skal nævnes. Der er en specifik protokol, der skal følges for at nævne tidsplanen. Flere oplysninger om tidsplan vises nedenfor:
- Afstemning SCM: Brugeren skal angive tidsplanen. Feltet fungerer det samme som 'Byg periodisk'.
- Byg, når Maven-afhængigheder er blevet opdateret af Maven 3-integration: Dette afsnit kræver ikke, at der skal indsendes input.
Flere oplysninger kan findes ved at udvide hjælpikonerne.
Hvis brugeren ikke ønsker at indstille nogen af disse build-udløsere, kan han / hun beslutte at opbygge jobbet / projektet manuelt. Alt, hvad han / hun skal gøre er at klikke på linket 'Byg nu', der vises i menuen til venstre.
Påkaldelse af byggetrin
Nu hvor vi har set alle de grundlæggende trin til konfiguration af et byggeprojekt, lad os gå videre og tilføje nogle flere byggetrin. Dette afsnit lader brugeren definere sin build med flere byggetrin.
Hvert af byggetrinene har sin egen konvention til at definere og påberåbe sig.
Se f.eks. ANT-påkaldelsen nedenfor:
Konfiguration af handlinger efter byggeriet
Til tider bliver det nødvendigt såvel som vigtigt at udføre visse post-build-handlinger. Handlinger efter byggeri er intet andet end nogle handlinger, de udløses, når bygningen er udført. Brugeren er gearet til at udløse mere end en post-build-handling, hvis han / hun ønsker det.
Som vi alle ved, at build-udførelsesstatus og -rapporter er en af de vigtigste artefakter eller udgangskriterier for en softwareudviklings livscyklus. Derfor giver Hudson dig mulighed for at offentliggøre build-udførelsesrapporten, generere dokumentation, generere eksekverbare filer / arkiver osv.
Testudførelsesrapporter kan offentliggøres og sendes videre til interessenterne via e-mail. Resultater af denne build kan udløse udførelsen af en anden build.
Post-build-handlinger er mange, lad os tage et øjeblik for at diskutere de mest basale.
# 1. Samlede testresultater efterfølgende - Indstillingen lader brugeren samle resultaterne af testudførelsen af dette job og downstream-job sammen for at producere mere effektive testresultater. Alt, hvad brugeren skal gøre, er at angive navnet på det nedstrøms job. Hvis brugeren ikke ønsker at levere noget downstream-job, men stadig ønsker at udnytte indstillingen, kan han lede Hudson til at finde alle downstream-projekter.
# 2. Optag fingeraftryk af filer for at spore brugen - Indstillingen kan bruges af brugeren til at spore, hvor en bestemt fil blev brugt.
# 3. Offentliggør JUnit testresultatrapport - Indstillingen giver brugeren mulighed for at offentliggøre JUnit-testrapporten ved at læse og forstå den brugerdefinerede rapport genereret af JUnit. JUnit-testresultatrapporten giver brugeren en webgrænseflade til at se de oprettede rapporter. Disse rapporter kan sendes via e-mails til interessenterne. For at aktivere denne indstilling er det kun brugeren forpligtet til at angive stien til den brugerdefinerede rapport genereret af JUnit.
# 4. Arkiver artefakterne - Denne indstilling lader brugeren oprette artefakter, der kan distribueres til videre brug. Artefakten kan produceres efter hver vellykket build. Disse artefakter kan direkte tilgås af brugeren via webgrænsefladen. Artefakter kan være frigivelseskørbare filer i form af krigsfiler, jar-filer, zip eller tar-mapper.
# 5. Udgiv Javadoc - Denne indstilling giver dig mulighed for at udgive java-dokumentet til kunder og brugere på Hudson-webgrænsefladen, forudsat at dit projekt genererer java-dokumentet. For at aktivere denne mulighed kræves en bruger at angive placeringen af Java Doc i forhold til Javadoc-biblioteket.
Hvis brugeren vælger at markere indstillingen “Behold Javadoc for hver vellykket build”, gemmes den nyligt genererede Javadoc i den angivne mappe. Således vil alle Javadocs, der svarer til den vellykkede build, opretholdes.
# 6. Byg andre job - Indstillingen lader brugeren udløse udførelsen af andre job, når dette job er udført. Brugeren kan udløse udførelse af mere end et job på samme tid. Indstillingen kan være nyttig til at udføre testtestscenarier for enhedstest og integration. Brugeren kan endda indstille muligheden for at opbygge andre job, selvom dette job mislykkes (ustabil).
# 7. Udgiv Cobertura-dækningsrapport - Cobertura er et java-baseret testværktøj, der analyserer kodedækningen af dit projekt, dvs. det vurderer procentdelen af kode, der er omfattet af testene. Således giver indstillingen brugeren mulighed for at generere en rapport med kodedækningsanalyse. Indstillingen kræver et par parametre, før du kan få en fuldt udbygget testrapport om kodedækning. Vær opmærksom på, at denne indstilling ikke kommer som standard, dvs. det kræver, at der installeres et plugin (hvilket vi gjorde på installationstidspunktet, da det generelt er en del af de foreslåede plugins).
(Klik på billedet for at forstørre det)
# 8. E-mail-underretning - E-mail-underretning er en af de vigtigste handlinger efter byggeriet. Indstillingen lader brugeren sende e-mail om build-underretning til interessenterne (udviklere, testere, produktejere osv.) Ved at konfigurere deres e-mail-id'er. Hudson kan sende e-mailen, når bygningen er ustabil, vellykket, mislykkedes osv. Brugeren kan også indstille udløsere for e-mail-underretning. Meddelelses-e-mailen kan sendes til mere end en modtager på samme tid bare ved at give et hvidt mellemrum mellem deres e-mail-id'er. Se nedenstående skærmbillede for at kontrollere, hvordan disse indstillinger kan leveres.
(Klik på billedet for at forstørre det)
Bemærkninger:
- Brugeren kan når som helst vende tilbage til denne side og ændre indstillingerne, hvis det kræves.
- Brugeren kan se oplysningerne om hver indstilling inden for det tilknyttede hjælpikon.
- Brugeren kan tilføje flere post-build-handlinger ved hjælp af plugins.
Konklusion
I denne vejledning gjorde vi dig bekendt med konceptet med kontinuerlig integration. Vi lagde også vægt på dets betydning under en softwareudviklings livscyklus, især i en udviklers eller testers liv.
Næste tutorial # 26 : At gå videre i serien, ville vi diskutere nogle avancerede selenkoncepter det vil direkte eller indirekte hjælpe med at optimere Automation-rammen og giver brugerne mere synlighed. Således vil vi i den næste vejledning diskutere logfunktionen, dens potentiale, fejlfindingsfunktioner og meget mere.
Bemærk: Denne tutorial er en del af såvel Selen som DevOps tutorial-serien. Klik på nedenstående link for tidligere og næste tutorials fra DevOps-serien.
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Dybdegående formørkelsesvejledninger til begyndere
- Integration af selen med JMeter
- Automatiseringstest ved hjælp af agurkværktøj og selen - Selen Tutorial # 30
- Spock til integration og funktionel test med selen
- Brug af Maven Build Automation Tool og Maven Project Setup til Selen - Selen Tutorial # 24
- Integration af Jenkins med Selen WebDriver: Trin-for-trin vejledning
- Introduktion til Selen WebDriver - Selen Tutorial # 8