Konfigurer Jenkins til at køre og vise JMeter-tests

1. Oversigt

I denne artikel vil vi konfigurere en kontinuerlig leveringsrørledning ved hjælp af Jenkins og Apache JMeter.

Vi vil stole på JMeter-artiklen som et godt udgangspunkt for først at forstå det grundlæggende i JMeter, da det allerede har nogle konfigurerede præstationstest, vi kan køre. Og vi bruger build-output fra dette projekt til at se rapporten genereret af Jenkins Performance-pluginet.

2. Opsætning af Jenkins

Først og fremmest skal vi downloade den seneste stabile version af Jenkins, navigere til den mappe, hvor vores fil er, og køre den ved hjælp af java -jar jenkins.war kommando.

Husk at vi ikke kan bruge Jenkins uden en indledende brugeropsætning.

3. Installation af Performance Plugin

Lad os installere Ydeevne plugin, som er nødvendigt for at køre og vise JMeter-tests:

Nu skal vi huske at genstarte forekomsten.

4. Kør JMeter-tests med Jenkins

Lad os nu gå til Jenkins startside og klikke på "Opret nye job", angiv et navn, vælg Freestyle-projekt og klik på “OK”.

I det næste trin, på GenerelTab, kan vi konfigurere det med disse generelle detaljer: Lad os derefter indstille arkiv-URL og grene, der skal bygges: Gå nu til BygTab for at specificere, hvordan vi bygger projektet. Her i stedet for direkte specificeret Maven-kommandoen til at opbygge hele projektet, kan vi tage en anden måde for bedre at få kontrol over vores pipeline, da hensigten bare er at bygge et modul.

På den Udfør skalUnderfane vi skriver et script til at udføre de nødvendige handlinger, når lageret er klonet:

  • Naviger til det ønskede undermodul
  • Vi har samlet det
  • Vi implementerede det, vel vidende at det er et spring-boot-baseret projekt
  • Vi venter, indtil appen er tilgængelig i port 8989
  • Og i slutningen angiver vi bare stien til vores JMeter-script (placeret inde i ressourcemappen på jmeter modul) til brug for præstationstest og stien til den resulterende fil (JMeter.jtl) også i ressourcemappen

Her er det lille tilsvarende shell-script:

cd jmeter ./mvnw ren installation -DskipTests nohup ./mvnw spring-boot: run -Dserver.port = 8989 & while! httping -qc1 // localhost: 8989; sove 1; gjort jmeter -Jjmeter.save.saveservice.output_format = xml -n -t src / main / resources / JMeter.jmx -l src / main / resources / JMeter.jtl

Som vist på følgende billede:

Efter at projektet er klonet fra GitHub, kompilerede vi det, åbnede på port 8989 og behandlede præstationstestene. Vi er nødt til at få performance-plugin-displayresultatet til en brugervenlig måde.

Vi kan gøre det ved at tilføje en dedikeret Handlinger efter byggeriet. Vi er nødt til at give resultatkildefilen og konfigurere handlingen:

Vi vælger Standardtilstand med de efterfølgende konfigurationer:

Lad os slå Gemme, i menuen til venstre i Jenkins dashboard skal du klikke på knappen Byg nuog vent på, at den afslutter det sæt af operationer, vi konfigurerede deroppe.

Når det er færdigt, ser vi alle output fra vores projekt på konsollen. I slutningen får vi enten Færdig: SUCCESeller Færdig: FEJL:

Lad os gå til Ydelsesrapportområde tilgængelig via menuen til venstre.

Her har vi rapporten om alle tidligere builds inklusive den aktuelle for at se forskellen i præstationsperiode:

Lad os klikke på indikationen lige oppe i tabellen for kun at få resultatet af den sidste build, vi lige har lavet:

Fra instrumentbrættet i vores projekt kan vi hente Performance Trend, som er andre grafer, der viser de sidste build-resultater:

Bemærk: Anvendelse af det samme på en Rørledningsprojekt er også simpelt som:

  1. Opret et andet projekt (element) fra instrumentbrættet, og navngiv det JMeter-rørledning for eksempel (Fanen Generel info)
  2. Vælg Rørledning som projekttype
  3. På den RørledningTab, vælg på definitionen Rørledningsscript og tjek Brug Groovy Sandbox
  4. I manuskript udfyld bare følgende linjer:
node {stage 'Build, Test and Package' git '//github.com/eugenp/tutorials.git' dir ('jmeter') kill -KILL \ $ pid "} 

Dette script starter med at klone projektet, går i målmodulet, kompilere og køre det for at sikre, at appen er tilgængelig på // localhost: 8989

Dernæst kører vi JMeter-tests i ressourcemappen, gemmer resultaterne som build-output, og endelig lukkes applikationen.

5. Konklusion

I denne hurtige artikel har vi afgjort et simpelt kontinuerligt leveringsmiljø til at køre og vise Apache JMeter test i Jenkins på to måder; først via en Freestyle-projekt og andet med en Rørledning.

Som altid kan kildekoden til denne artikel findes på GitHub.