Lag Groovy Hook -skript i Jenkins

Lag Groovy Hook -skript i Jenkins

Groovy er et kraftig, eventuelt skrevet og dynamisk språk med statisk typing og statisk kompilasjonsfunksjoner for Java-plattformen. Det er rettet mot å forbedre utviklerens produktivitet.

På den annen side er Jenkins en gratis og open source automatiseringsserver som automatiserer de repeterende delene av programvareutviklingsprosessen.

Vi kan bruke Groovy -skript i Jenkins for å utføre noen oppgaver. For eksempel gir Jenkins Groovy Build-trinnet og de groovy postbuild-pluginsene som lar oss utføre Groovy-skript som en del av byggeprosessen, enten som et byggetrinn eller som en handling etter bygningen.

I tillegg lar Jenkins oss definere krokskript som er utført før eller etter visse hendelser, for eksempel før eller etter en build. Disse krokskriptene kan skrives i Groovy, slik at brukerne kan tilpasse Jenkins 'oppførsel. For eksempel kan vi bruke et groovy krokskript for å sende en varslingsmelding til et chatterom eller for å oppdatere et eksternt sporingssystem når en bygning er ferdig.

Denne opplæringen vil lære oss å lage og bruke Hook Groovy -skript i Jenkins Pipelines.

Hvordan lage Hook Groovy -skript i Jenkins

Du kan lage et hook groovy manus i Jenkins på to hovedmåter. Den første er ved å bruke Jenkins Script Console -funksjonen.

For å gjøre dette, ta turen til Jenkins -dashbordet og klikk på Administrer Jenkins i venstre meny.


Under delen Verktøy og handlinger velger du skriptkonsollen i Administrer Jenkins -menyen.


Du kan legge inn ditt groovy -skript i tekstboksen Skriptkonsoll. Når du er klar, kan du kjøre skriptet ved å klikke på Kjør -knappen for å utføre skriptet.

Den andre metoden du kan bruke til å lage et Hook Groovy -skript i Jenkins er ved å lage det groovy skriptet i $ Jenkins_home/init.Groovy.d katalog. Under oppstarten vil Jenkins automatisk utføre eventuelle groovy -skript i denne katalogen.

Eksempel

I eksemplet nedenfor vil vi lage et hook groovy -skript som skriver konsollutgangen til en Jenkins -bygg til en fil.

Koden er som angitt nedenfor:

Importer Hudson.modell.*
def build = hudson.forekomst.getItem ("Sample_project").getLastBuild ()
def consoleOutput = build.getLog ()
Ny fil ("/var/log/jenkins_build.Logg").Skriv (ConsoleOutput)


Dette skriptet vil få konsollutgangen til den siste byggingen av et prosjekt med navnet Sample_Project, og deretter vil det skrive utdataene til den spesifiserte loggfilen.

Eksempel 2

Hvis du ønsker å bruke Jenkins Log -katalogen, oppretter du en init.Groovy.d katalog i katalogen $ jenkins_home.

Neste, lag en logg.Groovy -fil for å lagre kildekoden for krokskriptet. I dette tilfellet vil skriptet vårt skrive konsollutgangen til alle byggene i et gitt prosjekt som vist i kildekoden nedenfor:

Importer Hudson.modell.*
DEF Project = Hudson.forekomst.getItem ("Sample_project")
for (bygge inn prosjekt.getBuilds ())
def consoleOutput = build.getLog ()
Ny fil ("/var/log/logger.Logg").Skriv (ConsoleOutput)


Dette skriptet vil iterere gjennom alle prosjektbygg med navnet Sample_Project og skrive konsollutgangen til hver bygg til den spesifiserte loggfilen.

Konklusjon

Vi oppdaget de forskjellige metodene og teknikkene vi kan bruke til å lage Hook Groovy -skript i Jenkins ved hjelp av Jenkins Script Console og Jenkins Groovy Scripts Directory.