maven with jenkins maven documentation
In deze tutorial wordt alles uitgelegd over Jenkins en integratie van Maven met Jenkins. Je leert ook om documentatie voor het project te maken met Maven:
We zullen leren kennen wat Jenkins is, Maven Jenkins-integratie, voordelen van Jenkins, hoe Java en Maven in Jenkins kunnen worden ingesteld, hoe Jenkins-taken met verschillende parameters kunnen worden gemaakt, uitvoeringsresultatenrapporten van Jenkins met TestNG-plug-ins, hoe Maven te passeren opdrachten in de vorm van doelen in Jenkins, Maven-documentatie voor projecten, enz. in detail.
Bekijk hier de eenvoudige Maven-trainingsserie.
java hoe je een element uit een array verwijdert
Wat je leert:
Wat is Jenkins?
Jenkins is een continue integratietool die van enorm belang is in de wereld van het testen en ontwikkelen van software. Het is open-source en platformonafhankelijk. In ons dagelijkse werk hebben we te maken met automatiseringsframeworks die uit honderden testcases bestaan.
Tot nu toe hebben we gezien dat we voor het uitvoeren van onze scripts vanuit het Maven-project ofwel Maven-opdrachten moeten uitvoeren vanaf de opdrachtprompt of Eclipse rechtstreeks moeten openen en de scripts moeten activeren.
Dus we triggeren handmatig de testgevallen voor uitvoering. Om dit proces te automatiseren, moeten we taken plannen die onze testcases op een bepaald tijdstip uitvoeren en ook zorgen voor enkele belangrijke parameters. Dit hele proces is geautomatiseerd met behulp van Jenkins.
Dus in werkelijkheid, als we ongeveer 800 testcases hebben die om drie uur 's ochtends moeten worden uitgevoerd, dan kan dit eenvoudig worden gedaan zonder handmatige tussenkomst met behulp van Jenkin-taken.
Er zijn ook scenario's waarin geautomatiseerde Smoke- of Sanity-testcases moeten worden uitgevoerd nadat er enige code is ingecheckt vanuit de ontwikkelingskant in de omgeving. Deze worden allemaal automatisch afgehandeld door Jenkins.
Jenkins heeft het logboek van alle wijzigingen die zijn aangebracht in repositories zoals SVN of Git. Jenkins kan eenvoudig in ons systeem worden geïnstalleerd en geconfigureerd. Het kan ook op meer dan één virtuele machine worden ingesteld als builds op een gedistribueerde manier moeten worden geactiveerd. Bovendien geeft het via links toegang tot alle recente builds.
Jenkins heeft functies zoals integratie met TestNG met behulp van plug-ins, e-mailmeldingen over de bouwstatus die het tegenwoordig populairder maken om te gebruiken. Problemen en bugs worden al heel vroeg opgemerkt en opgelost.
Het merendeel van de integratietaken wordt automatisch uitgevoerd, waardoor middelen worden bespaard en de software op elk moment probleemloos kan worden vrijgegeven.
In de Agile-omgeving werken bedrijfsanalisten, ontwikkelaars en testers samen. Als gevolg hiervan kan het voorkomen dat een bedrijfsanalist (een niet-technisch persoon) moet zien en controleren hoe het uitvoeringsresultaat is.
In dergelijke gevallen hoeft hij misschien geen Eclipse te openen of Maven-opdrachten in te stellen en uit te voeren om de scripts te activeren. Hij kan de testcases uitvoeren met de hulp van Jenkins en de resultaten van de uitvoering krijgen.
We zijn op de startpagina van Jenkins met een taaknaam als Project Als een bedrijf de resultaten van de uitvoering wil zien, moet op de taaknaam worden geklikt en wordt deze doorgestuurd naar de onderstaande pagina.
Vervolgens Bouw nu aan de linkerkant van het scherm moet worden geklikt. We hoeven dus alleen maar de Jenkins-URL te openen (https: // localhost: 8080 / jenkins).
Hoewel testcases worden geactiveerd via Jenkins, is het alleen de specifieke omgeving die wordt geboden in Jenkins waar de testcases worden uitgevoerd. Het is een veelvoorkomend scenario dat als we onze testcases buiten Jenkins uitvoeren, deze mislukken doordat de versie van onze tools of taal of jars niet is afgestemd op een versie die zou moeten werken.
Bijvoorbeeld, de Java-versie of onze Maven-versie is bijgewerkt of gedowngraded. Dit alles kan worden vermeden als we Jenkins taken gebruiken voor onze uitvoering.
Jenkins heeft dus een belangrijke bijdrage geleverd aan ons testraamwerk door een gecentraliseerde opzet over alle geografische locaties te onderhouden.
Voordelen van Jenkins
De voordelen van Jenkins worden hieronder opgesomd:
- Jenkins is een open-source, platformonafhankelijk en draagbaar.
- Het kan eenvoudig worden geïnstalleerd en geconfigureerd. Het kan gemakkelijk worden gebruikt.
- Jenkins heeft de integratie-items geautomatiseerd en zoveel integratieproblemen treden niet op, waardoor de efficiëntie en productiviteit van ontwikkelaars wordt verhoogd.
- De documentatie is goed beschreven en maakt het gemakkelijk om het te leren.
- Jenkins is ontwikkeld door de ontwikkelaars door rekening te houden met de functies die de ontwikkelaars echt nodig hebben op het werk.
- Het heeft een groot aantal plug-ins. Al deze plug-ins maken Jenkins krachtiger en populairder bij de ontwikkelaars.
- Jenkins ondersteunt de omgevingen die in de cloud worden gehost.
- Het heeft een grote gemeenschap van gebruikers die gemakkelijk toegankelijk zijn. Ze werken regelmatig aan feedbacks en touch-base.
- Jenkins biedt hulp bij het testen van automatisering op de volgende manieren:
- Kenmerk van het plannen van testuitvoeringen: Testprofessionals kunnen hun testcases plannen voor uitvoering en hun tijd gebruiken voor andere taken.
- Aangepast rapport met testresultaten: Jenkins geeft details over het patroon van resultaten. De grafische weergaven en details van de uitvoeringsresultaten weerspiegelen het totale aantal testcases, uitvoeringstijden en andere belangrijke informatie.
- Werkt goed met de continue integratieprocessen: De testtijd wordt verkort met Jenkins.
Java en Maven-pad in Jenkins
Allereerst moeten we Java en Maven op onze machines hebben geïnstalleerd. Zodra we op de landingspagina van Jenkins zijn, zullen er aanvankelijk geen banen zijn.
Klik nu op Beheer Jenkins link aan de linkerkant van het scherm.
Klik dan op Globale toolconfiguraties Hier moeten we de configuraties voor Java en Maven doen. Voor het instellen van Java klikt u op het JDK-installaties knop.
Hier moeten we ofwel geven Naam en JAVA_HOME pad of dit kan worden opgevangen door te controleren Automatisch installeren selectievakje.
Vervolgens moeten we naar de Maven-sectie gaan en op het Maven Installaties knop.
Hier moeten we ofwel geven Naam en MAVEN_HOME pad of dit kan worden afgehandeld door de Automatisch installeren selectievakje.
Klik na het uitvoeren van deze bewerkingen op Opslaan onderaan de pagina.
Maak een Jenkins-taak
Vervolgens moeten we een taak genereren om de scripts van ons Maven-project te activeren. Klik op de Nieuw item link aan de linkerkant van het scherm.
Voer een Itemnaam en selecteer het Freestyle-project optie en klik op OK.
We worden genavigeerd naar de taakconfiguratiepagina. Hier moeten we alle informatie verstrekken die specifiek is voor ons project. Eerst moeten we de bron van onze projectcode opgeven.
Jenkins broncodebeheer
In de Broncodebeheer sectie, selecteren we over het algemeen een van de GitHub of Subversie en geef de bijbehorende links. Jenkins haalt de code daar automatisch vandaan.
Als onze code echter in ons lokale systeem aanwezig is, moeten we op het Geavanceerd knop onder de algemeen sectie , en controleer dan Gebruik een aangepaste werkruimte
We moeten ons Maven-project binnen het .jenkins map en geef het pad op van het pom-bestand dat zich in het Maven-project bevindt, te beginnen met $ {JENKINS_HOME}.
Op deze manier krijgt Jenkins de broncode van het project in handen.
Jenkins wordt niet alleen gebruikt door testers voor het triggeren van de testuitvoering, maar wordt ook veel gebruikt door ontwikkelaars voor hun werk. Sommige van deze opties worden aangeboden onder de Bouwomgeving sectie.
Vervolgens moeten we naar de Build-sectie gaan en selecteren Roep het Maven-doel op het hoogste niveau aan opties uit de vervolgkeuzelijst.
Vervolgens Roep Maven-doelen op het hoogste niveau aan sectie wordt uitgebreid. Hier Maven-versie wordt vooraf ingevuld vanuit de Maven-versie die we hebben gedefinieerd in het Algemene toolconfiguratie
Onder Doelen moeten we het Maven-commando opgeven om de uitvoering te activeren. mvn-test - depressie. In Jenkins kunnen we de term mvn weglaten en is de rest van de opdracht voldoende.
Klik op Opslaan en we hebben met succes een baan gecreëerd.
Even een samenvatting van wat we tot nu toe hebben besproken:
- Locatie van onze code (Git, Subversions of vanuit een lokale directory).
- Maven-opdracht om de uitvoering te activeren.
Onze job wordt gecreëerd en zal zichtbaar zijn op de Jenkins-bestemmingspagina:
Klik op de Bouw nu aan de linkerkant van het scherm. Er zal een Bouw geschiedenis op sectie aan de linkerkant van het scherm zichtbaar nadat de build is voltooid. De buildnummer wordt zichtbaar gevolgd door samen met de tijdstempel Navigeer nu naar het Console-uitgang
De resultaten van de uitvoering:
TestNG Jenkins-integratie voor rapport met uitvoeringsresultaten
Ga voor de details van het resultaat van de testuitvoering naar het Maven-project in Eclipse, ga naar het doelwit map vervolgens naar het trefzekere rapporten map. Er is een index.html bestand in de trefzekere rapporten. Haal de locatie van het bestand op en open het in de browser.
testng-results.xml bestand en TestNG-rapportplug-in is vereist voor resultaten in Jenkins.
Klik op Beheer Jenkins link vanaf de linkerkant van het Jenkins-scherm. Klik dan op Beheer plug-ins koppeling.
beste programma om de harde schijf te klonen
Installeer het TestNG-plug-in voor resultaten
Als u klaar bent, zullen we de taak bijwerken die we hebben gemaakt vanuit het Configureer link aan de linkerkant van het scherm. Navigeer vervolgens naar het Acties na het bouwen sectie en selecteer Publiceer TestNG-resultaten uit de vervolgkeuzelijst.
testng-results.xml bestand in ons Maven-project wordt automatisch ingevuld in het TestNG XML-rapportpatroon veld standaard. Klik vervolgens op Opslaan.
Taakplanning in Jenkins
Navigeer naar het Bouw triggers sectie voor het plannen van de bouwtijden.
Als we selecteren Bouw regelmatig , dan hebben we de Schema sectie zichtbaar. Hier moeten we vijf parameters noemen om de taak te plannen, zoals hieronder weergegeven.
- MINUTEN in één uur
- UREN op één dag
- DAYMONTH dag in een maand
- MAAND in een jaar
- DAGWEEK dag van de week
Om de scripts om 8:00 uur 's ochtends in te plannen, moeten we specificeren zoals hieronder weergegeven:
Nu zullen we de build opnieuw starten om de TestNG-resultaten te verifiëren. Ga naar de landingspagina van Jenkins en klik op de vacature. We hebben nu een TestNG-resultaten link in ons jobscherm.
Als de uitvoering geen fouten heeft, is het Laatste testresultaat link toont geen fouten. Klik op de koppeling TestNG-resultaten voor meer details over de resultaten.
We kunnen op de build # nummer voor meer details over de resultaten.
Om onze code te controleren, moeten we op de Werkruimte link aan de linkerkant van het scherm. Op deze manier kunnen Jenkins en Maven samenwerken.
Maven-documentatie voor project
Met de hulp van Maven kunnen we documentatie voor ons project maken. Zoals eerder besproken, omvat Maven drie levenscycli, namelijk schoon, site en standaard.
De taak om eventuele fouten te verwijderen en de artefacten van de vorige build te verwijderen, wordt afgehandeld in het schoon fiets. Terwijl de standaard is verantwoordelijk voor het totale implementatieproces, de site levenscyclus is voor het maken van de projectdocumentatie.
Het wordt als een goede gewoonte beschouwd om de site schoon uit te voeren, zodat we over een up-to-date documentatie beschikken.
Navigeer naar de projectmap en voer de volgende opdracht uit vanaf de opdrachtprompt.
Het proces van het bouwen van het project begint. Nadat de build is geslaagd, wordt de projectdocumentatie gegenereerd zoals hieronder weergegeven.
Door op het index.html-bestand te klikken, kunnen we gedetailleerde documentatie van het project hebben, voornamelijk bestaande uit de build- en projectinformatie, over het project, continue integratie, afhankelijkheden, mailinglijst, licenties, enzovoort.
Veelgestelde vragen
V # 1) Hoe werkt Jenkins met Maven?
Antwoord: Jenkins werkt goed samen met Maven door aan bepaalde voorwaarden te voldoen. We moeten Java- en Maven-paden instellen in Jenkins. Vervolgens moeten we de Jenkins-taken maken met alle parameters, inclusief Post Build-acties, het plannen van de builds, enzovoort.
Vraag 2) Wat zijn Maven en Jenkins?
Antwoord: Maven is een projectmanagement- en bouwtool ontwikkeld in Java. Jenkins is een doorlopende integratietool die open source is. Zowel Maven als Jenkins worden tegenwoordig veel gebruikt in de industrie.
V # 3) Wat is het Maven-doel in Jenkins?
Antwoord: We bieden de Maven-opdrachten in het gedeelte Doelen van Jenkins. Dit is een belangrijke stap bij het maken van een Jenkins-taak.
Vraag 4) Waarom gebruiken we Maven?
Antwoord: Maven is een projectmanagement- en bouwtool die wordt aangedreven door een pom.xml-bestand. Het heeft het bouwproces eenvoudig, gemakkelijk en consistent gemaakt.
V # 5) Is Maven een CI-tool?
Antwoord: Nee, Maven is geen continue integratietool. Het is een build-tool met meer functies dan Ant. Jenkins is een tool voor continue integratie.
V # 6) Wat is pom xml in Maven?
Antwoord: Project Object Model of pom is een xml-bestand dat de kern van Maven vormt. Het bevat de lijst met projectafhankelijkheden, configuraties, profielen, enzovoort.
V # 7) Kunnen we TestNG en Jenkins integreren met Maven?
Antwoord: Ja, we kunnen TestNG en Jenkins integreren met Maven. Dit alles wordt bereikt met behulp van plug-ins.
goede sites om gratis anime te kijken
V # 8) Wat zijn de drie builds van de Maven-levenscyclus?
Antwoord: De drie standaard builds van de Maven-cyclus worden hieronder vermeld.
- Standaard
- Schoon
- Site
V # 9) Hoe stel ik Jenkins-instellingen XML in?
Antwoord: Navigeer in Jenkins naar de Build-sectie van de job en klik op Geavanceerd. Instellingenbestand optie zal daar zichtbaar zijn. De locatie van de settings.xml moet daar worden opgegeven.
V # 10) Hoe stel ik omgevingsvariabelen in Jenkins in?
Antwoord: De omgevingsvariabelen in Jenkins kunnen worden ingesteld vanaf de Configureer scherm. In de Bouwen sectie, selecteer Injecteer omgevingsvariabelen Daar moeten we de omgevingsvariabele zoals VARIABLE_NAME = VALUE-patroon opgeven.
Gevolgtrekking
We hopen dat een groot deel van Maven zoals de integratie met Jenkins, TestNG-plug-ins voor Jenkins om resultaten weer te geven, jobcreatie op Jenkins, Java en Maven opgezet in Jenkins, globale configuraties op Jenkins nu gemakkelijk moeten worden begrepen.
Ook, Jenkins bouwt planningsmechanismen, de post-build acties, hoe Jenkins omgaat met de code die zich in Git of een andere repository of lokaal bevindt, is hier in detail geïllustreerd. Oefen elke stap een voor een en de fusie van Maven Jenkins zal duidelijk zijn. We hebben ook de Maven-documentatie voor projecten onderzocht.
Jenkins, een tool voor continue integratie, kan echt worden gebruikt voor ontwikkelaars, testers, bedrijfsanalisten, enzovoort in een agile wereld. Elke organisatie kijkt op om zo nu en dan continue integratieprocessen te gebruiken en aan te passen.
Bezoek hier om de Maven Training Series For All te zien.
Aanbevolen literatuur
- Wat is Maven - Maven-zelfstudie voor beginners
- Gradle versus Maven en Maven-plug-ins
- Jenkins CI-zelfstudie - Wat is continue integratie van Jenkins
- Jenkins Jobs: SCM configureren, jobs opbouwen en SCM pollen
- Jenkins-plug-ins: SCM, analysers en installatie van plug-ins
- Integratie van Maven met TestNg met behulp van de Maven Surefire-plug-in
- Jenkins Security: Matrix voor beveiliging en projectbeveiliging inschakelen
- Maven configureren met Eclipse Java IDE