Jenkinsfile Checkout SCM

Jenkinsfile Checkout SCM

Kildekodeadministrasjonen eller SCM refererer til versjonskontrollsystemet (VCS) som brukes til å administrere et prosjekts kildekode. Jenkins støtter flere SCM -systemer inkludert Git, Subversion, Mercurial og mange andre.

Under prosjektkonfigurasjonen kan vi spesifisere SCM -depotet der kildekoden for prosjektet er lagret. Jenkins sjekker deretter med jevne mellomrom for endringer for endringer. Hvis den oppdager noen nye forpliktelser eller oppdateringer, utløser den automatisk et prosjektbygg.

I en Jenkinsfile kan vi definere kassen SCM -trinnet for å hente kildekoden for rørledningen fra det spesifiserte SCM -depotet. Dette trinnet er vanligvis det første trinnet i en Jenkinsfile, og sikrer at kildekoden er tilgjengelig for resten av rørledningen.

Jenkins SCM Step Plugin

Jenkins SCM -trinn -plugin lar Jenkins -rørledningene bruke standard Jenkins SCM -plugins for å sjekke kildekoden fra en SCM -kilde. Dette gir ekstensible utsjekkingsalternativer, og spesifiserer de forskjellige SCM -kildene, spesifikke grener og mer.

For å bruke denne pluginen, må du installere den på Jenkins -kontrolleren. Åpne Jenkins-dashbordet og velg “Administrer Jenkins” fra venstre meny. Naviger til siden Administrer plugins -> Tilgjengelige plugins og søk etter "SCM -trinn".

Bruke Jenkins SCM -trinnet

Når vi har installert SCM -plugin, kan vi bruke kassen SCM -plugin som vist i følgende rørledningseksempel:

rørledning
agent etikett 'my-agent'
Stadier
scene ('build')
trinn
Kassen SCM
SH Make



I forrige eksempel bruker vi kassen SCM -trinnet for å sjekke ut kilden og kjøre build ved hjelp av make -kommandoen.

Du kan spesifisere de forskjellige SCM -kildene som AWS Code Pipeline, Bazaar SCM, Bitkeeper, Mercuria, Open Shift Images, FileSystem og mer.

Følgende bilde viser de aksepterte SCM -kildene for kassetrinnet:

Kilde: Jenkins SCM -dokumentasjon.

Følgende eksempel viser hvordan du kan spesifisere SCM -kilden og andre alternativer som legitimasjon:

Checkout SCM: [$ klasse: 'Mercurialscm', kilde: 'Ssh: // [email protected]/bruker/repo ', ren: true, legitimasjonsID:' 1234-5678-ABCD '], avstemning: falsk

I forrige eksempel spesifiserer kassen SCM -blokken SCM som kassen får kildekoden.

Vi definerer også konfigurasjonen for målet SCM inkludert URL og legitimasjon for serveren.

I dette tilfellet er [$ -klassen: 'Mercurialscm'] definert ved hjelp av Mercurial SCM for å koble til depotet.

Deretter bruker vi kildealternativet til å spesifisere nettadressen til depotet som er et kvikksøling som er vert på Bitbucket.

Vi definerer også det rene alternativet som ber Jenkins om å utføre en "ren" kasse. Dette gjør at Jenkins kan kaste lokale endringer og sjekke ut en ny kopi av depotet.

Legitimasjonsalternativet spesifiserer et sett med legitimasjons -ID -er som skal autentiseres med mållageret.

Endelig er opsjonsundersøkelsen satt til FALSE. Dette forhindrer at Jenkins poller depotet for endringer. Derfor vil Jenkins ikke automatisk utløse et bygg hvis nye forpliktelser eller oppdateringer i depotet blir oppdaget. Vi må utløse en bygning manuelt eller bruke noen andre måter (for eksempel en webhook) for å utløse et bygg.

Konklusjon

Vi utforsket grunnleggende om å bruke SCM -kassen i Jenkins for å kasse kildekoden fra et gitt depot.