Tutorial do Jenkins Pipeline: como criar JenkinsFile (exemplo)

O que é Jenkins Pipeline?

Oleoduto Jenkins é uma combinação de plug-ins que oferece suporte à integração e implementação de pipelines de entrega contínua. Possui um servidor de automação extensível para criar pipelines de entrega simples e complexos como código via pipeline DSL. Um Pipeline é um grupo de eventos interligados em uma sequência.

O que são pipelines de entrega contínua? Como funciona?

Em um pipeline Jenkins, todo trabalho ou evento tem algum tipo de dependência de pelo menos um ou mais eventos.

Trabalho de pipelines de entrega contínua Jenkins
Trabalho de pipelines de entrega contínua Jenkins

A imagem acima representa um pipeline de entrega contínua no Jenkins. Ele contém um grupo de estados chamados build, deploy, test e release. Esses eventos estão interligados entre si. Cada estado tem seus eventos, que funcionam em uma sequência chamada pipeline de entrega contínua.

Um pipeline de entrega contínua é uma expressão automatizada para exibir seu processo de obtenção de software para controle de versão. Assim, cada alteração feita em seu software passa por uma série de processos complexos até ser lançada. Também envolve o desenvolvimento do software de maneira confiável e repetível, e a progressão do software construído através de vários estágios de desenvolvimento. ensaio e implantação.

O que é um arquivo Jenkins?

Pipelines Jenkins podem ser definidos usando um arquivo de texto chamado Arquivo Jenkins. Você pode implementar o pipeline como código usando JenkinsFile, e isso pode ser definido usando uma linguagem específica de domínio (DSL). Com JenkinsFile, você pode escrever as etapas necessárias para executar um pipeline Jenkins.

Os benefícios do uso Arquivo Jenkins são:

  • Você pode criar pipelines automaticamente para todas as ramificações e executar solicitações pull com apenas um Arquivo Jenkins.
  • Você pode revisar seu código Jenkins no pipeline
  • Você pode auditar seu pipeline Jenkins
  • Esta é a fonte única do seu pipeline e pode ser modificada por vários usuários.

JenkinsFile pode ser definido pela UI da Web ou com um arquivo Jenkins.

Sintaxe de pipeline declarativa versus com script:

Existem dois tipos de sintaxe de pipeline Jenkins usados ​​para definir seu JenkinsFile.

  1. Declarativo
  2. Com script

Declarativo:

A sintaxe declarativa do pipeline oferece uma maneira fácil de criar pipelines. Ele contém uma hierarquia predefinida para criar pipelines Jenkins. Ele oferece a capacidade de controlar todos os aspectos da execução de um pipeline de maneira simples e direta.

Com script:

O pipeline Jenkins com script é executado no mestre Jenkins com a ajuda de um executor leve. Ele usa poucos recursos para traduzir o pipeline em comandos atômicos. Tanto a sintaxe declarativa quanto a de script são diferentes uma da outra e são definidas de forma totalmente diferente.

Por que usar o pipeline do Jenkin?

Jenkins é um aberto servidor de integração contínua que tem a capacidade de apoiar a automação de processos de desenvolvimento de software. Você pode criar vários trabalhos de automação com a ajuda de casos de uso e executá-los como um pipeline Jenkins.

Aqui estão os motivos pelos quais você deve usar o pipeline Jenkins:

  • O pipeline Jenkins é implementado como um código que permite que vários usuários editem e executem o processo do pipeline.
  • Os oleodutos são robustos. Portanto, caso o seu servidor sofra uma reinicialização imprevista, o pipeline será retomado automaticamente.
  • Você pode pausar o processo do pipeline e esperar para ser retomado até que haja uma entrada do usuário.
  • Jenkins Pipelines oferece suporte a grandes projetos. Você pode executar vários trabalhos e até usar pipelines em loop.

Oleoduto Jenkins Concepts

INVERNO Descrição
Pipeline O pipeline é um conjunto de instruções fornecidas na forma de código para entrega contínua e consiste nas instruções necessárias para todo o processo de construção. Com o pipeline, você pode construir, testar e entregar o aplicativo.
Node A máquina na qual o Jenkins é executado é chamada de nó. Um bloco de nó é usado principalmente na sintaxe de pipeline com script.
Etapa Um bloco de estágio contém uma série de etapas em um pipeline. Ou seja, os processos de construção, teste e implantação se reúnem em um estágio. Geralmente, um bloco de estágio é usado para visualizar o processo de pipeline do Jenkins.
Passo Uma etapa nada mais é do que uma única tarefa que executa um processo específico em um tempo definido. Um pipeline envolve uma série de etapas.

Instale o plug-in Build Pipeline no Jenkins

Com o construir pipeline plugin, você pode criar uma visualização de pipeline de trabalhos de entrada e saída e criar gatilhos que requerem intervenção manual.

Veja como você pode instalar o construir pipeline plugin no seu Jenkins:

Etapa 1) As configurações do plugin podem ser encontradas em,

Gerenciar Jenkins > Gerenciar plug-ins.

Instale o plug-in Build Pipeline no Jenkins

Se você já instalou o plugin, ele será mostrado na guia instalado.

Instale o plug-in Build Pipeline no Jenkins

Etapa 2) Se você não possui o plugin instalado anteriormente,

aparece sob o Disponível aba.

Depois de instalar com sucesso o construir pipeline plugin em seu Jenkins, siga estas etapas para criar seu pipeline Jenkins:

Como criar um pipeline Jenkins

Depois de fazer login no painel do Jenkins:

Etapa 1) Clique no "+" botão no lado esquerdo do painel do Jenkins para criar um pipeline.

Criar pipeline Jenkins

Etapa 2)

  1. Você será solicitado a dar um nome à visualização do pipeline. Vamos chamá-lo de “Pipeline Guru99”durante esta demonstração.
  2. Selecionar Crie uma visualização de pipeline para opções
  3. Clique ok

Criar pipeline Jenkins

Etapa 3) Na próxima página, serão solicitados mais alguns detalhes para configurar seu pipeline Jenkins. Basta aceitar as configurações padrão e escolher o primeiro trabalho nas configurações.

Clique em Aplicar e depois OK.

Criar pipeline Jenkins

Isso mostrará um exemplo de visualização do pipeline do seu item, conforme mostrado abaixo:

Criar pipeline Jenkins

Executando uma compilação de pipeline

Etapa 1) Para executar uma construção de pipeline, você precisa primeiro encadear seus trabalhos. Para isso, vá até o seu primeiro trabalho e clique em configurar.

Executando uma compilação de pipeline

Etapa 2) Agora, sob Construir gatilhos, Verifica a Construir depois que outros projetos forem construídos opção.

Executando uma compilação de pipeline

Assim, foi criada uma cadeia para todos os seus empregos.

Etapa 3) Instale o Visualização Construir Pipeline plugin se você ainda não o tiver instalado.

Etapa 4) Vá para o painel do Jenkins e crie uma visualização clicando no botão “+" botão. Selecione os Criar visualização de pipeline opção e clique OK.

Executando uma compilação de pipeline

Etapa 5) Sob Configuração de visualização de pipelinelocalize Fluxo de pipeline.

Debaixo Fluxo de pipeline, selecione o trabalho inicial a ser executado. Agora escolha o trabalho que possui cadeias para outros trabalhos, conforme mostrado em Etapa 1 e Etapa 2.

Executando uma compilação de pipeline

Aqui nós selecionamos Projeto Guru99 1 como o trabalho inicial, encadeado a outros trabalhos. Assim, um por um, os trabalhos serão executados no pipeline.

Quando o pipeline Jenkins está em execução, você pode verificar seu status com a ajuda dos símbolos de status vermelho e verde. Vermelho significa que o pipeline falhou, enquanto verde indica sucesso.

Neste exemplo de pipeline do Jenkins, vemos que o botão está verde. Portanto, o pipeline foi bem-sucedido.

Executando uma compilação de pipeline

Executando pipeline Jenkins

Clique em Execute para executar o pipeline Jenkins. Vai parecer algo assim:

Executando pipeline Jenkins

No exemplo de script de pipeline Jenkins acima, estamos demonstrando um programa “helloworld.java” simples. Mas em projetos em tempo real, você será responsável por criar e construir pipelines complexos no Jenkins. Veja abaixo um exemplo de visualização do pipeline.

Executando pipeline Jenkins

Melhores práticas usando Jenkins Pipeline:

  • Use o pipeline Jenkins genuíno
  • Desenvolva seu pipeline como código
  • Qualquer trabalho que não seja de configuração no pipeline deve ocorrer dentro de um bloco de estágio.
  • Qualquer trabalho material em um pipeline deve ser executado dentro de um bloco de nós.
  • Não use entrada em um bloco de nó.
  • Nunca defina variáveis ​​de ambiente com variável global env
  • Envolva suas entradas em um tempo limite