Sebbene ciò possa essere utile quando si lavora con alcuni comandi, può rapidamente diventare noioso e difficile da gestire quando si lavora con più comandi o copie della stessa pipeline Jenkins.
In questo tutorial, impareremo come eliminare un tale problema aggiungendo i nostri comandi in uno script di shell, sia uno script PowerShell che uno script bash. Discuteremo quindi come possiamo dire a Jenkins di caricare lo script shell ed eseguire i comandi definiti nel file.
Requisiti
Per questo tutorial, utilizziamo quanto segue:
Passaggio 1: prepara lo script di shell
Il primo passo è assicurarsi di avere la scrittura di shell pronta sull'agente Jenkins. Successivamente, creiamo un semplice script di shell per questo tutorial sull'agente Debian 11.
Accedi al tuo agente Jenkins:
$ ssh [email protected]
Una volta effettuato l'accesso, dobbiamo creare uno script di shell che desideriamo utilizzare nella nostra pipeline Jenkins.
$ CD /Home /Debian
$ TOUCT MyScript.sh
Modifica lo script shell e aggiungi la funzione dello script shell. Per questo tutorial, otteniamo l'elenco di file e directory usando AWK.
$ Vim MyScript.sh
Possiamo quindi aggiungere lo script come mostrato nel seguente:
#!/Bin/Bash
ls -la | awk 'stampa $ 9'
Lo script precedente è uno script semplice che chiama il comando ls -la e passa l'output su AWK. AWK quindi stampa il valore nella posizione specificata.
Il prossimo passo è garantire che la shell abbia eseguire le autorizzazioni. Possiamo farlo eseguendo il seguente comando chmod:
$ chmod +x myscript.sh
Prima di eseguire lo script sulla pipeline di Jenkins, è possibile eseguire lo script sul computer locale per assicurarsi che lo script funzioni come previsto.
Passaggio 2: impostare un lavoro di Jenkins
Una volta terminato, torniamo al controller Jenkins e configuriamo un lavoro che utilizza lo script definito.
Seleziona "Nuovo elemento" sulla dashboard Jenkins per creare un nuovo lavoro. Dai un nome al lavoro e seleziona il tipo di lavoro come "Pipeline".
Passare alla sezione della pipeline e aggiungere uno script della pipeline come mostrato nel seguente:
tubatura
agente etichetta 'debian'
fasi
stadio ('run sceneggia')
Passaggi
sh '/home/debian/myscript.sh'
Fai clic su "Salva" per applicare lo script e selezionare "Build Now" sul riquadro sinistro per consentire a Jenkins di costruire il lavoro.
Sul numero di build, selezionare l'output della console per visualizzare il processo di build per il lavoro invocato.
Conclusione
Ora hai imparato con successo come invocare uno script di shell da una pipeline di Jenkins in pochi passi.