Jenkinsfile Run um script de shell

Jenkinsfile Run um script de shell
Quando você está apenas começando com Jenkins, você pode perceber que precisa invocar o passo SH, BAT ou PowerShell para executar comandos de shell no seu controlador.

Embora isso possa ser útil ao trabalhar com alguns comandos, ele pode rapidamente se tornar cansativo e desafiador de gerenciar ao trabalhar com vários comandos ou cópias do mesmo pipeline de Jenkins.

Neste tutorial, aprenderemos a eliminar esse problema adicionando nossos comandos em um script de shell, seja um script do PowerShell ou um script de basquete. Em seguida, discutiremos como podemos dizer a Jenkins para carregar o script do shell e executar os comandos que são definidos no arquivo.

Requisitos

Para este tutorial, usamos o seguinte:

  1. Um controlador Jenkins que está sendo executado no Windows.
  2. Um agente de Jenkins rotulado como "Debian" que está sendo executado no Debian 11.

Etapa 1: Prepare seu script de shell

O primeiro passo é garantir que você tenha seu script de shell pronto para o agente Jenkins. Em seguida, criamos um script de shell simples para este tutorial sobre o Debian 11 Agent.

Faça login no seu agente Jenkins:

$ ssh [email protected]

Depois de conectado, precisamos criar um script de shell que desejamos usar em nosso pipeline Jenkins.

$ CD /Home /Debian
$ toque myscript.sh

Edite o script do shell e adicione a função do seu script de shell. Para este tutorial, obtemos a lista de arquivos e diretórios usando o AWK.

$ vim myscript.sh

Podemos então adicionar o script como mostrado no seguinte:

#!/BIN/BASH
ls -la | awk 'print $ 9'

O script anterior é um script simples que chama o comando ls -la e passa a saída para a AWK. Awk então imprime o valor na posição especificada.

O próximo passo é garantir que o shell tenha permissões. Podemos fazer isso executando o seguinte comando chmod:

$ chmod +x myscript.sh

Antes de executar o script no pipeline Jenkins, você pode executar o script na máquina local para garantir que o script esteja funcionando como esperado.

Etapa 2: Configurando um trabalho de Jenkins

Depois de terminar, voltemos ao controlador Jenkins e configure um trabalho que usa o script definido.

Selecione “Novo item” no painel Jenkins para criar um novo trabalho. Dê um nome ao trabalho e selecione o tipo de trabalho como "pipeline".

Navegue até a seção do pipeline e adicione um script de pipeline, como mostrado no seguinte:

Pipeline
Agente Label 'Debian'
estágios
Stage ('Run Script')
passos
Sh '/Home/Debian/MyScript.sh '



Clique em "Salvar" para aplicar o script e selecione "Build Now" no painel esquerdo para permitir que Jenkins construa o trabalho.

No número de construção, selecione a saída do console para ver o processo de construção para o trabalho invocado.

Conclusão

Agora você aprendeu com sucesso a invocar um script de shell de um pipeline de Jenkins em alguns passos.