Konfigurer Jenkins til å kjøre og vise JMeter-tester

1. Oversikt

I denne artikkelen skal vi konfigurere en kontinuerlig leveringsrørledning med Jenkins og Apache JMeter.

Vi vil stole på JMeter-artikkelen som et flott utgangspunkt for å først forstå det grunnleggende om JMeter, siden det allerede har noen konfigurerte ytelsestester vi kan kjøre. Og vi vil bruke byggeproduksjonen til det prosjektet for å se rapporten generert av Jenkins Performance-plugin.

2. Sette opp Jenkins

Først og fremst må vi laste ned den siste stabile versjonen av Jenkins, navigere til mappen der filen vår er og kjøre den ved hjelp av java -jar jenkins.war kommando.

Husk at vi ikke kan bruke Jenkins uten et første brukeroppsett.

3. Installere Performance Plugin

La oss installere Opptreden plugin, som er nødvendig for å kjøre og vise JMeter-tester:

Nå må vi huske å starte forekomsten på nytt.

4. Kjør JMeter-tester med Jenkins

La oss nå gå til Jenkins hjemmeside og klikke på “Opprett nye jobber”, spesifiser et navn, velg Freestyle-prosjekt og klikk “OK”.

I neste trinn, på GenerellTab, kan vi konfigurere det med disse generelle detaljene: Deretter la oss angi lager URL og grener som skal bygges: Gå nå til ByggeTab for å spesifisere hvordan vi skal bygge prosjektet. Her i stedet for direkte spesifisert Maven-kommandoen for å bygge hele prosjektet, kan vi ta en annen måte å bedre ha kontroll over rørledningen vår, da intensjonen bare er å bygge en modul.

Utfør skalletUnderfane vi skriver et skript for å utføre de nødvendige handlingene etter at depotet er klonet:

  • Naviger til ønsket undermodul
  • Vi samlet det
  • Vi distribuerte det, vel vitende om at det er et spring-boot-basert prosjekt
  • Vi venter til appen er tilgjengelig på port 8989
  • Og til slutt spesifiserer vi bare stien til JMeter-skriptet vårt (plassert i ressursmappen til jmeter modul) som skal brukes til ytelsestesting og banen til den resulterende filen (JMeter.jtl) også i ressursmappen

Her er det lille korresponderende skallskriptet:

cd jmeter ./mvnw clean install -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 bilde:

Etter at prosjektet er klonet fra GitHub, kompilerte vi det, åpnet på port 8989 og behandlet ytelsestestene. Vi må gjøre resultatplugin-displayresultatet på en brukervennlig måte.

Vi kan gjøre det ved å legge til en dedikert Handlinger etter bygg. Vi må oppgi resultatkildefilen og konfigurere handlingen:

Vi velger Standardmodus med de påfølgende konfigurasjonene:

La oss slå Lagre, på menyen til venstre på Jenkins dashbord, klikk på knappen Bygg nåog vent til den fullfører settet med operasjoner vi konfigurerte der oppe.

Etter at den er ferdig, ser vi på konsollen alle utgangene fra prosjektet vårt. På slutten får vi heller Ferdig: SUKSESSeller Ferdig: FEIL:

La oss gå til Resultatrapportområdet tilgjengelig via menyen til venstre.

Her vil vi ha en rapport om alle tidligere bygninger, inkludert den nåværende for å se forskjellen i ytelsestid:

La oss klikke på indikasjonen like oppe i tabellen for å få bare resultatet av den siste bygningen vi nettopp laget:

Fra dashbordet til prosjektet vårt kan vi hente Prestasjonstrend, som er andre grafer som viser de siste resultatene:

Merk: Bruk det samme på a Rørledningsprosjekt er også enkelt som:

  1. Opprett et annet prosjekt (element) fra dashbordet og gi det navn JMeter-rørledning for eksempel (Generell info Tab)
  2. Å velge Rørledning som prosjekttype
  3. RørledningTab, på definisjonen velg Rørledningsskript og sjekk Bruk Groovy Sandbox
  4. I manus bare fyll ut følgende linjer:
node {stage 'Build, Test and Package' git '//github.com/eugenp/tutorials.git' dir ('jmeter') kill -KILL \ $ pid "} 

Dette skriptet starter med å klone prosjektet, går i målmodulen, kompilere og kjøre det for å sikre at appen er tilgjengelig på // localhost: 8989

Deretter kjører vi JMeter-tester i ressursmappen, lagrer resultatene som build-utdata, og til slutt lukkes applikasjonen.

5. Konklusjon

I denne raske artikkelen har vi avgjort et enkelt kontinuerlig leveringsmiljø for å kjøre og vise Apache JMeter tester i Jenkins på to måter; først via en Freestyle-prosjekt og andre med en Rørledning.

Som alltid kan kildekoden for denne artikkelen finnes på GitHub.