Como criar um Jenkinsfile

Como criar um Jenkinsfile
Um Jenkinsfile refere -se a um arquivo de texto ASCII que contém definições de um pipeline de Jenkins. Um Jenkinsfile usa uma sintaxe declarativa ou um formato de script groovy. O Jenkinsfile contém uma série de estágios e etapas que compõem o pipeline Jenkins.

Cada etapa do pipeline é executada em uma ordem específica e as etapas subsequentes podem usar os resultados de uma etapa. Usamos principalmente as etapas definidas em um pipeline de Jenkins para executar as tarefas automatizadas, como construção de aplicativos, teste e implantação.

Por padrão, o Jenkinsfile está incluído no diretório raiz de um projeto. No entanto, você pode armazená -lo em uma biblioteca Jenkinsfile exclusiva em Jenkins. Isso permite que Jenkins acompanhe o arquivo Jenkins e monitore quaisquer modificações feitas no pipeline. No caso de alterações no Jenkinsfile ou no código -fonte no repositório, Jenkins detecta automaticamente as alterações, construa o projeto e executa quaisquer testes que sejam definidos no Jenkinsfile.

Este tutorial abrange o básico de criar e escrever um Jenkinsfile básico usando uma sintaxe declarativa.

Anatomia de um Jenkinsfile básico

O exemplo a seguir mostra um Jenkinsfile básico. Usamos isso para mostrar como um Jenkinsfile está configurado e como usá -lo:

Pipeline
agente qualquer
estágios
Stage ('Hello')
passos
eco 'olá mundo'



Um Jenkinsfile é composto pelos blocos de construção fornecidos. Vamos quebrar o que cada bloco implica.

  1. Oleoduto - O bloco de pipeline diz a Jenkins que qualquer comando definido neste bloco é tratado como parte da configuração e etapas do pipeline. Este é o bloco de nível superior no Jenkinsfile. Você pode definir outros elementos acima do bloco de tubulação, como variáveis.
  2. Agente - Um agente é um nó do agente Jenkins que é usado para executar as etapas em um pipeline de Jenkins. Um agente pode ser uma máquina física, uma máquina virtual ou um contêiner.
  3. Etapa - o bloco de palco refere -se a um grupo de etapas em um pipeline de Jenkins. Os estágios são usados ​​para agrupar as etapas relacionadas e controlar a ordem em que são executadas.
  4. Etapa - a próxima parte é o bloco de etapas. Isso é usado para definir uma única tarefa em um pipeline de Jenkins. Cada etapa no Jenkinsfile é executado na ordem em que eles são definidos.

No exemplo anterior do pipeline, definimos um único estágio chamado Hello. Definimos um passo simples no estágio que imprime a string "Hello World" para o console.

Executando um Jenkinsfile

Para executar um Jenkinsfile, siga as etapas que são mostradas no seguinte:

  1. Instale Jenkins em sua máquina ou obtenha uma instância de Jenkins de um provedor de nuvem. Você pode verificar nosso tutorial sobre como instalar Jenkins no Windows ou Linux para aprender mais.
  2. Crie um novo projeto de pipeline Jenkins clicando no link "Novo item" no painel e selecionando a opção "pipeline".
  3. Na seção "pipeline", escolha o "script de pipeline".
  4. Cole o conteúdo do Jenkinsfile que são fornecidos no exemplo anterior.
  5. Salve o projeto clicando no botão "Salvar".
  6. Clique no botão "Construir agora" para executar o Jenkinsfile.

Você pode visualizar a saída do Jenkinsfile clicando no número da construção na seção "Histórico de compilações" no painel.

Vá para a seção "Saída do console" para visualizar a mensagem do comando Echo.

É bom ter em mente que você pode definir muito mais em um Jenkinsfile. Alguns blocos comuns que você pode encontrar incluem o seguinte:

  1. Ambiente - o bloco de ambiente é usado para definir as variáveis ​​de ambiente nas quais as etapas no Jenkinsfile podem usar.
  2. Post - podemos usar o bloco de postagem para especificar as etapas que devem ser executadas após a conclusão das etapas principais do pipeline.
  3. Tente/Catch - Outro bloco padrão é o bloco de tentativa/captura. Isso é usado para lidar com as exceções que podem ocorrer durante a execução do pipeline de Jenkins. Você pode explorar nosso tutorial sobre isso para aprender mais.
  4. Paralelo - o bloco paralelo nos permite definir uma série de etapas que são executadas em paralelo.
  5. Entrada - você também encontrará o bloco de entrada na maioria dos Jenkinsfile. Este bloco é usado para pausar o pipeline Jenkins e pedir uma entrada do usuário.
  6. Timestamps - Finalmente, outro bloco padrão dentro de um Jenkinsfile é o bloco de registro de data e hora. Isso é usado para adicionar os registros de data e hora à saída do oleoduto Jenkins.

Você pode explorar a documentação sobre a sintaxe declarativa de Jenkins para aprender mais sobre os vários blocos que você pode usar.

Conclusão

Discutimos como você pode criar um Jenkinsfile. Também cobrimos a anatomia de um Jenkinsfile, explorando um pipeline do Hello Primary Hello World.