Configurando um projeto Git no Jenkins

A integração do código e sua disponibilização no ambiente de execução são bastante agilizadas com o uso de ferramentas como o Jenkins.

O sistema de versionamento mais utilizado atualmente é o Git e, neste exemplo, estamos utilizando o GitHub, uma plataforma da Microsoft.

1. Configuração do Jenkins

Antes de prosseguirmos, é necessário realizar algumas configurações no Jenkins.

Essas configurações envolvem a adição de credenciais para obter o código-fonte e realizar a publicação no ambiente de destino.

Para isso, no menu lateral esquerdo, selecione Manage Jenkins e, em seguida, clique na opção Credentials.

Manage Jenkins

Em Credentials, clique em (global).

Credentials

Em Global credentials (unrestricted), clique no botão + Add Credentials.

Para usar o GitHub, é necessário gerar um Token de Acesso. Com ele, você poderá clonar e enviar código para o repositório.
Acesse: https://github.com/settings/tokens
Ao utilizar o token, informe seu nome de usuário e o token gerado no lugar da senha de acesso ao GitHub.

New credentials

Na nova tela New credentials é necessário escolher o tipo (Kind) dessa credencial. São eles:

Nome Nome (Português) Descrição
Username with password Nome de usuário com senha Autenticação básica usando nome de usuário e senha.
GitHub App Aplicativo GitHub Integração com GitHub usando um aplicativo registrado.
SSH Username with private key Nome de usuário SSH com chave privada Autenticação SSH usando chave privada.
Secret file Arquivo secreto Arquivo confidencial carregado para uso em jobs.
Secret text Texto secreto Texto sensível, como tokens ou senhas.
X.509 Client Certificate Certificado de cliente X.509 Certificado usado para autenticação mútua.
Certificate Certificado Certificado digital padrão utilizado em diversas autenticações.

As opções Username with password e SSH Username with private key serão as utilizadas.

Preencha todas as informações necessárias e reserve o que for informado no campo ID, pois será utilizado na execução do Jenkins.

Exemplo de credencial

2. Projeto de demonstração

É um projeto simples, feito apenas para este guia e pode ser obtido deste repositório.

Sua estrutura principal é:

jenkins-demo/
├── main.py
├── requirements.txt
├── test_main.py
├── Dockerfile
└── Jenkinsfile

3. Configuração do Projeto no Jenkins

No menu lateral esquerdo escolha o item + New Item.

Menu lateral esquerdo

Forneça o nome do item e selecione o tipo Pipeline.

New Item

Clique no botão OK.

Na tela General que nos é apresentada, forneça as seguintes informações:

  • Description:
    (Opcional) Insira uma descrição do propósito do job, ex: Build e deploy automatizado do projeto Jenkins-Demo.

  • Do not allow concurrent builds:
    ✅ Habilitado. Evita que builds concorrentes rodem ao mesmo tempo.

  • GitHub project:
    ✅ Habilitado.

    • Project URL: https://github.com/franciscoernestoteixeira/jenkins-demo
  • This project is parameterized:
    ✅ Habilitado. Parâmetros definidos:

    • Git Parameter
      • Name: BRANCH
      • Parameter Type: Branch or Tag
      • Default Value: main
      • Advanced:
        • Branch Filter: .*
        • Tag Filter: *
        • Sort Mode: DESCENDING_SMART
        • Selected Value: TOP
    • Choice Parameter
      • Name: ENVIRONMENT
      • Choices:
        staging
        production
      • Description: Environment to run

Seção: Pipeline

  • Definition: Pipeline script from SCM

  • SCM: Git

    • Repository URL:
      https://github.com/franciscoernestoteixeira/jenkins-demo
    • Credentials:
      Selecione as credenciais de acesso ao GitHub configuradas previamente.

      • Advanced:
        • Refspec: +refs/heads/*:refs/remotes/origin/*
    • Branches to build:
      refs/remotes/${BRANCH}
    • Script Path:
      Jenkinsfile

Clique no botão Save para persistir todas as informações fornecidas.

Depois clique na opção Build with Parameters.

Job

Escolha a BRANCH, o ENVIRONMENT e clique no botão Build.

Pipeline jenkins-demo

É retornado para a página do com os detalhes da Pipeline e pode acompanhar o andamento da construção do projeto.

Stage View

Stage View Detailed

Ainda é possível clicar no trabalho em execução para obter detalhes sobre o mesmo.

Job

Na opção Console Output podemos ver os detalhes do andamento da execução.

Console Output

Console Output Details

E caso ocorra tudo bem, é apresentado a mensagem de sucesso.

Console Output Success

E acessando a aplicação, podemos ver o mesmo atualizado e funcionando.

Application Running

Para toda vez que seja preciso atualizar uma aplicação, somente repetir os passos de Build with Parameters.


Publicado

em

por

Tags:

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.