Hvordan klone en Jenkins -jobb

Hvordan klone en Jenkins -jobb
En jobb i Jenkins refererer til et navngitt sett med trinn eller oppgaver som Jenkins kjører i rekkefølge. Ulike kilder som en forpliktelse i et versjonskontrollsystem, en tidtaker eller en ekstern hendelse kan utløse Jenkins -jobber.

Vi definerer typisk en Jenkins -jobb i en Jenkinsfile, en tekstfil som inneholder instruksjonene om hvordan et prosjekt er bygget, testet og distribuert. En Jenkinsfile har forskjellige parametere og trinn, inkludert å påkalle skallkommandoene, analysere kildekoden og mer.

Jenkins støtter to hovedmetoder for å erklære en Jenkinsfile: som et groovy manus eller bruk av Jenkinsfile erklærende syntaks. Når vi definerer jobben, trinnene og handlingene som kreves, kan vi be Jenkins om å kjøre jobben og utføre instruksjonene som er gitt i filen.

Slike oppgaver inkluderer å bygge et programvareprosjekt, kjøre testene, distribuere programvaren til produksjon eller automatisere utførelsen av andre jobber.

Denne opplæringen lærer deg hvordan du kloner en Jenkins -jobb i enkle trinn. Kloning av en jobb refererer til å lage en kopi av en eksisterende jobb med lignende konfigurasjoner som kildejobben.

Jobbkloning kan være nyttig hvis du vil skape en jobb med en lignende konfigurasjon med mindre modifikasjoner. I stedet for å definere jobben igjen, kan du opprette en klone, gjøre de ønskede endringene og kjøre jobben på nytt.

Jenkins -konfigurasjon

For å skrive denne opplæringen bruker vi en Jenkins Controller versjon 2.283 som kjører på Debian 11. Vi har også en Jenkins -agent som kjører på Jenkins versjon 2.375 LT på Windows 11.

Gjenskape gjerne et lignende miljø eller bruk det eksisterende oppsettet.

Sette opp en prøve Jenkins -jobb

La oss starte med å lage en enkel Hello World -rørledning i Jenkins for å demonstrere hvordan vi kan klone en jobb.

Logg deg på Jenkins -dashbordet ditt og klikk på "Nytt element".

Gi jobben et navn og kaller det “Hello_World”. Velg jobbtypen som en rørledning.

Hopp over den andre konfigurasjonen og ta turen ned til rørledningsdelen. Her vil vi gi et enkelt Jenkinsfile -skript som vist i følgende:

rørledning
agent noen
Stadier
scene ('hei')
trinn
ekko 'Hello World'



I dette tilfellet sender rørledningen en "Hello World" -melding etter fullføring. Klikk "Lagre" for å fullføre redigering av rørledningen.

Klon en jobb i Jenkins

For å klone en jobb i Jenkins, start med å logge deg på Jenkins -nettgrensesnittet ditt.

  • Klikk på "Nytt element" for å legge til en ny Jenkins -jobb.
  • Deretter skriver du inn navnet på jobben du ønsker å lage. I vårt eksempel kaller vi det Hello_World_Copy.
  • Neste, i stedet for å velge jobbtypen som "rørledning", navigerer du til bunnen og velger "Kopier fra". Her skriver du navnet på den eksisterende jobben du ønsker å klone.

Når du er fornøyd, klikker du "OK" for å sette i gang en ny jobb. Jenkins skaper en ny jobb med samme konfigurasjon som originalen. Du kan deretter gjøre nødvendige endringer i rørledningen til den nye jobben og klikke på "Lagre" for å bruke endringene.

Merk: Kloning av jobben i Jenkins kopierer ikke bygghistorikken eller gjenstandene til den opprinnelige jobben. Den nye jobben starter med en ren byggehistorie og har ingen tilknyttede byggegjenstander.

Klon Jenkins -jobben via CLI

Du kan også klone en jobb ved å bruke Jenkins CLI. Kommandosyntaks er som følger:

$ java -jar jenkins -cli.krukke -S http: /// -Websocket Copy -Job Src DST

SRC viser til navnet på den eksisterende jobben, og DST er navnet på den nye jobben som skal opprettes.

Eksempel:

$ java -jar jenkins -cli.Jar -S http: // localhost: 8080/-websocket copy -job hello_world hello_world_copy

Merk: Å bruke CLI lar deg ikke endre konfigurasjonen av den nye jobben. Du må få tilgang til Jenkins -dashbordet for å gjøre endringer i den nyopprettede jobben.

Konklusjon

Du lærte hvordan du bruker Jenkins Clone -funksjonen for raskt å skape en jobb med en lignende konfigurasjon med den allerede eksisterende jobben. Som nevnt inkluderer ikke kloning av en jobb bygghistorien og gjenstandene til den opprinnelige jobben.