Quando você começa a criar pipelines Jenkin usando Jenkinsfile declarativo, é fácil cometer erros na sua definição de sintaxe.
É, portanto, uma boa prática verificar e verificar seus Jenkinsfiles antes de comprometê -los com seus repositórios. Isso garante que você não acabe com muitas compilações falhadas em seu servidor Jenkins.
Este tutorial mostrará vários métodos e técnicas que você pode usar para fins e verificar seu Jenkinsfile antes de executá -los no servidor.
O Jenkinsfile
O Jenkinsfile é uma ferramenta poderosa que permite especificar as instruções para suas compilações em uma sintaxe simples e fácil de entender. Existem dois métodos principais para criar um Jenkinsfile:
Este tutorial se concentrará em um artigo escrito em sintaxe declarativa, pois é muito mais fácil de entender e usar.
A seguir, mostra a sintaxe de um jenkinsfile declarativo simples.
def Msg = "Este é um texto personalizado"
Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
roteiro
msg = "agora a string é diferente!!"
eco "$ msg"
Não iremos analisar a estrutura do arquivo ou o que cada bloco no arquivo acima representa. Em vez disso, você pode verificar nosso tutorial de Jenkins para explorar os vários princípios básicos de Jenkins, como a Declaração Variável, os estágios de Jenkins, os estágios de Jenkins e mais.
O que é um linhagem e por que é importante?
LING refere -se ao processo de verificação do código -fonte para possíveis problemas ou erros. Na maioria dos casos, geralmente realizamos o linha de código por meio de uma ferramenta dedicada chamada Linter.
Um linnter de código pegará um código -fonte de entrada, analisá -lo e garantirá que não haja erros em potencial no arquivo. Também validará a sintaxe e os problemas de formatação definidos em um determinado idioma.
Alguns problemas comuns que os linhtos podem detectar incluem erros de sintaxe, problemas de formatação e possíveis problemas lógicos.
Aqui é onde está o problema quando se trata de Jenkinsfiles. Depois de editar um Jenkinsfile, você deve cometer as mudanças e empurrar as mudanças no repositório.
No entanto, Jenkins está configurado para executar uma construção toda vez que uma mudança no Jenkinsfile é detectada. Portanto, se você cometer algum erro no arquivo e se comprometer sem testar, Jenkins tentará construir o projeto e falhará devido aos erros no arquivo de pipeline.
Muitas vezes, você encontrará esses erros levam a construções simultâneas lentas, ou mesmo uma infinidade de começos do Git para corrigir erros de sintaxe.
Para evitar esses erros, é bom usar um linhador para verificar se tudo está funcionando antes de se comprometer.
Como fasgar um Jenkinsfile
Vamos agora discutir como podemos fiar o Jenkinfile localmente antes de cometer.
Método 1 - Usando o linhador declarativo de Jenkins
O primeiro método que podemos usar para fiar nosso Jenkinsfile antes de comprometer é usar a linha de comando.
Faça login no painel Jenkins - Gerenciar Jenkins - Jenkins CLI e Donwload The Jenkins CLI Utility.
Você encontrará o link para baixar a CLI da Jenkins e como executar o comando na primeira seção.
Depois de baixado, navegue até a localização do Jenkins-cli.Jar arquivo e execute o comando fornecido acima.
O comando deve listar possíveis comandos que você pode executar no servidor, como mostrado:
Configurando uma amostra Jenkinsfile
A próxima etapa é configurar uma amostra Jenkinsfile que precisamos fazer fios e testar a validade. Para fins de demonstração, usaremos um script do Hello simples do Hello, conforme fornecido abaixo:
def Msg = "Este é um texto personalizado"
Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
roteiro
msg = "agora a string é diferente!!"
eco $ msg
Você pode salvar o Jenkinsfile em qualquer local do seu sistema de arquivos.
Linhando um Jenkinsfile da linha de comando
Para fazer um jenkinsfile da linha de comando, podemos usar o comando:
$ java -Jar Jenkins -cli.jar -s jenkins_url -websocket declarativo -linter < Jenkinsfile
Onde o Jenkins_url é o endereço do seu controlador Jenkins.
Se o seu servidor Jenkins precisar de autenticação, use a opção -auth seguida pelo nome de usuário e senha como nome de usuário: senha.
Um exemplo de sintaxe é mostrado abaixo:
$ java -Jar Jenkins -cli.jar -s jenkins_url -auth nome de usuário: senha -websocket declarativo -linter < Jenkinsfile
Vamos demonstrar a saída do linhador quando passarmos o Jenkinsfile acima.
$ java -Jar Jenkins -cli.JAR -S < .\Jenkinsfile
Depois de executar o comando acima, o linhador analisará o Jenkinsfile e produzirá quaisquer problemas em potencial. Como nosso arquivo tem erros, o linhador nos dirá por que e possíveis correções, conforme demonstrado abaixo.
Nesse caso, o Linnter nos diz que precisamos incluir o nome da variável no bloco de eco com aspas.
Podemos ir em frente e consertar nosso arquivo.
def Msg = "Este é um texto personalizado"
Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
roteiro
msg = "agora a string é diferente!!"
eco "$ msg"
Uma vez corrigido, podemos executar novamente nosso comando linter:
$ java -Jar Jenkins -cli.JAR -S < .\Jenkinsfile
Como não temos nenhum erro em nosso Jenkinsfile, o comando retornará uma mensagem como mostrado:
Jenkinsfile validou com sucesso.
E testamos e verificamos com sucesso nosso Jenkinsfile está pronto para comprometer.
Método 2 - Adicionando o linter Jenkinsfile ao seu editor
O segundo método comum de testar e verificar seu Jenkinsfile é adicionando o plugin Jenkins Linter ao seu editor.
Jenkins fornece Linter para:
Esta seção demonstrará como usar o linhador Jenkinsfile no Código do Visual Studio.
No Código do Visual Studio, pressione Ctrl + Shift + K para abrir o menu de extensões. Pesquise "Jenkins Pipeline Liner".
Selecione a extensão “Jenkins Pipeline Linter Connector” e clique em Instalar.
Depois de instalado, abra seu Jenkinsfile no Código do Visual Studio e pressione Ctrl + Shift + P para abrir a paleta de comando.
Digite o comando "Validar Jenkinsfile" e pressione Enter para executar.
Isso irá solicitar a você o URL do Linter Jenkins.
https: /// pipeline-model-converter/validate
Digite o link acima, como mostrado no exemplo abaixo:
http: // localhost: 8080/pipeline-model-converter/validate
Se o seu servidor exigir autenticação, abra as configurações de código do Visual Studio e pesquise "Jenkins".
Defina o nome de usuário e a senha Jenkins.
Depois de executar o comando "Validar Jenkinsfile", a extensão analisará seu Jenkinsfile e mostrará possíveis problemas.
Conclusão
Você aprendeu a usar o linte da CLI da Jenkins para testar e verificar seu Jenkinsfile em sua máquina antes de cometê -los. Você também aprendeu a adicionar o Jenkins Linter ao código do Visual Studio para testar seu Jenkinsfile do seu editor.