Jenkinsfile Checkout SCM

Jenkinsfile Checkout SCM

La gestione del codice sorgente o SCM si riferisce al sistema di controllo versione (VCS) che viene utilizzato per gestire il codice sorgente di un progetto. Jenkins supporta più sistemi SCM tra cui Git, Subversion, Mercurial e molti altri.

Durante la configurazione del progetto, possiamo specificare il repository SCM in cui è archiviato il codice sorgente per il progetto. Jenkins quindi controlla periodicamente il repository per le modifiche. Se rileva nuovi commit o aggiornamenti, attiva automaticamente una build di progetto.

In un Jenkinsfile, possiamo definire il passaggio SCM checkout per recuperare il codice sorgente per la pipeline dal repository SCM specificato. Questo passaggio è di solito il primo passo in un Jenkinsfile, assicurando che il codice sorgente sia disponibile per il resto della pipeline.

Plug -in Step SCM Jenkins

Il plug -in SCM Jenkins SCM consente alle pipeline Jenkins di utilizzare i plugin Jenkins SCM standard per controllare il codice sorgente da una sorgente SCM. Ciò fornisce opzioni di checkout estensibili, specificando le varie fonti SCM, i rami specifici e altro ancora.

Per utilizzare questo plug -in, è necessario installarlo sul controller Jenkins. Apri la dashboard Jenkins e seleziona "Gestisci Jenkins" dal menu a sinistra. Passa alla pagina Gestisci plugin -> Plugin disponibili e cerca "SCM Step".

Usando il passaggio Jenkins SCM

Una volta installato il plug -in SCM, possiamo utilizzare il plug -in SCM checkout come mostrato nel seguente esempio della pipeline:

tubatura
agente etichetta 'my-agent'
fasi
Stage ('build')
Passaggi
Checkout SCM
Sh make



Nell'esempio precedente, utilizziamo il passaggio SCM di Checkout per controllare l'origine ed eseguire la build utilizzando il comando Make.

È possibile specificare le varie fonti SCM come la pipeline del codice AWS, Bazaar SCM, Bitkeeper, Mercuria, Open Shift Images, filesystem e altro ancora.

La seguente immagine mostra le fonti SCM accettate per il passaggio del checkout:

Fonte: Documentazione di Jenkins SCM.

L'esempio seguente mostra come è possibile specificare la sorgente SCM e altre opzioni come le credenziali:

Checkout SCM: [$ Classe: 'MercurialScm', Fonte: 'SSH: // [email protected]/utente/repo ', pulito: true, credentialsid:' 1234-5678-abcd '], sondaggio: false

Nell'esempio precedente, il blocco SCM checkout specifica SCM da cui il passaggio di pagamento ottiene il codice sorgente.

Definiamo anche la configurazione per SCM di destinazione, inclusi l'URL e le credenziali per il server.

In questo caso, la [$ Class: "MercurialScm"] è definita usando Mercurial SCM per connettersi al repository.

Successivamente, utilizziamo l'opzione di origine per specificare l'URL del repository che è un repository mercuriale ospitato su bitbucket.

Definiamo anche l'opzione pulita che dice a Jenkins di eseguire un checkout "pulito". Ciò consente a Jenkins di scartare eventuali modifiche locali e controllare una nuova copia del repository.

L'opzione CredentialSID specifica un set di ID credenziali per l'autenticazione con il repository di destinazione.

Infine, il sondaggio delle opzioni è impostato su False. Ciò impedisce a Jenkins di sondaggio del repository per le modifiche. Pertanto, Jenkins non attiverà automaticamente una build se vengono rilevati nuovi commit o aggiornamenti nel repository. Dobbiamo attivare manualmente una build o utilizzare altri mezzi (come un webhook) per attivare una build.

Conclusione

Abbiamo esplorato i fondamentali dell'utilizzo del passaggio di checkout SCM in Jenkins per controllare il codice sorgente da un determinato repository.