Introdução
Bem-vindo a este laboratório sobre a integração do Jenkins com o Git. O Gerenciamento de Controle de Versão (SCM) é um pilar do desenvolvimento de software moderno. Integrar seu servidor de Integração Contínua (CI), como o Jenkins, a um sistema de SCM, como o Git, é um passo fundamental para automatizar seus processos de build e teste.
Neste laboratório, você aprenderá a:
- Verificar se o plugin Git do Jenkins está disponível.
- Criar um projeto Freestyle vinculado a um repositório Git local.
- Adicionar uma etapa de build para executar um script a partir do repositório.
- Executar um build manualmente para testar a configuração.
- Configurar o polling de SCM para disparar builds automaticamente a cada novo commit.
Uma instância do Jenkins e um pequeno repositório Git local já estão preparados para este laboratório. Você pode acessar a interface web do Jenkins abrindo o navegador Firefox na área de trabalho. O navegador abrirá automaticamente em http://localhost:8080, portanto, não é necessário inserir a URL manualmente. Não é necessário fazer login.
Verificar o Plugin Git
O Jenkins utiliza plugins para adicionar integrações. O plugin Git fornece a opção Git que você usará na configuração do job.
- Abra o navegador Firefox a partir da interface da área de trabalho. O navegador abrirá automaticamente em
http://localhost:8080, portanto, não é necessário inserir a URL manualmente. Não é necessário fazer login. - No painel do Jenkins, clique no ícone de engrenagem no canto superior direito para abrir o Manage Jenkins.
- Clique em Plugins.
- Selecione a aba Installed plugins.
- Na caixa de filtro, digite
git. - Confirme se o Git aparece na lista de plugins instalados.

Com o plugin Git confirmado, você pode criar um projeto que extrai o código-fonte de um repositório.
Criar um Projeto e Configurar o SCM Git
Com o plugin Git instalado, você agora pode criar um projeto no Jenkins e configurá-lo para extrair o código-fonte do repositório local preparado no container do Jenkins.
- Retorne ao painel principal do Jenkins clicando no link Dashboard na navegação de trilha (breadcrumb) no canto superior esquerdo.
- Clique em New Item na barra lateral esquerda.
- Digite
git-integration-projectcomo o nome do item. - Selecione Freestyle project.
- Clique em OK.
Isso o levará à página de configuração do projeto.
- Role para baixo até a seção Source Code Management.
- Selecione a opção Git. Se você não vir esta opção, verifique se o plugin Git foi instalado corretamente na etapa anterior.
- No campo Repository URL, insira a URL do repositório local preparada para este laboratório:
git://localhost/git-playground.git
- Deixe o Branch Specifier como o padrão,
*/master. Isso indica ao Jenkins para usar a branchmaster. - Clique no botão Save na parte inferior da página.

Você criou com sucesso um job do Jenkins vinculado a um repositório Git local. Na próxima etapa, você definirá o que o job deve fazer com o código baixado.
Adicionar uma Etapa de Build e Executar um Build Manual
Agora que o Jenkins sabe onde obter o código, você precisa dizer a ele o que fazer com esse código. Você adicionará uma etapa de build com comandos shell e, em seguida, executará um build manualmente para testá-lo.
- Na página do projeto
git-integration-project, clique em Configure na barra lateral esquerda. - Role para baixo até a seção Build Steps.
- Clique no menu suspenso Add build step e selecione Execute shell.
- Na área de texto Command, insira os seguintes comandos de build:
echo "Building from the Git repository"
./build.sh
Quando o job for executado, o Jenkins primeiro clonará o repositório Git em seu workspace e, em seguida, executará esses comandos a partir desse workspace. O script build.sh vem do repositório, portanto, uma execução bem-sucedida prova que o Jenkins baixou o código antes de executar a etapa de shell.
- Clique em Save.
- Você está de volta à página do projeto. Clique em Build Now na barra lateral esquerda para iniciar um build.
Um novo build aparecerá no painel Build History. Aguarde a conclusão (o ícone de status ficará azul em caso de sucesso).
- Clique no número do build (por exemplo,
#1). - Clique em Console Output no menu do build.

Você deverá ver uma saída confirmando que o Jenkins clonou o repositório e executou seus comandos com sucesso.
Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/git-integration-project
...
[git-integration-project] $ /bin/sh -xe /tmp/jenkins123.sh
+ echo Building from the Git repository
Building from the Git repository
+ ./build.sh
Repository build script running
Workspace: /var/jenkins_home/workspace/git-integration-project
README.md
build.sh
Finished: SUCCESS
Habilitar Builds Automáticos com Polling de SCM
Executar builds manualmente é útil para testes, mas o verdadeiro poder da CI é a automação. Nesta etapa, você configurará o Jenkins para verificar (fazer polling) o repositório Git em busca de alterações.
- Navegue de volta para a página de configuração do
git-integration-project(Página do Projeto > Configure). - Role para baixo até a seção Build Triggers.
- Marque a caixa ao lado de Poll SCM.
- Uma caixa de texto Schedule aparecerá. Ela usa a sintaxe cron para definir com que frequência o Jenkins deve verificar o repositório em busca de alterações. Para verificar a cada minuto, insira o seguinte:
* * * * *
- Clique em Save.
O agendamento é armazenado com a configuração do job. O Jenkins agora verificará o repositório configurado uma vez por minuto e iniciará um novo build quando detectar um novo commit.
- Retorne à interface do Jenkins e vá para a página do
git-integration-project. - Na barra lateral esquerda, você verá uma nova opção chamada Git Polling Log. Clique nela.
- Esta página mostra a atividade de polling após o Jenkins ter executado pelo menos um ciclo de verificação. Pode levar até um minuto para que a primeira entrada apareça. Você deverá ver entradas como:
Started on ...
Using strategy: Default
[poll] Last Built Revision: Revision ...
The recommended git tool is: NONE
No credentials specified
> git --version ## timeout=10
> git ls-remote -h -- git://localhost/git-playground.git ## timeout=10
...
No changes

Isso demonstra que o Jenkins está configurado para verificar o repositório automaticamente. Em um projeto real, o repositório geralmente estaria hospedado em um servidor Git e o Jenkins faria o build quando novos commits aparecessem.
Resumo
Neste laboratório, você obteve experiência prática com uma das integrações mais críticas em um pipeline de CI: conectar o Jenkins a um repositório de controle de versão Git.
Você realizou com sucesso:
- A verificação de que o plugin Git essencial está disponível para habilitar os recursos de integração Git do Jenkins.
- A criação de um projeto Freestyle e sua configuração para baixar código de um repositório Git.
- A definição de uma etapa de build para executar um script shell a partir do código baixado.
- A verificação da configuração através da execução de um build manual.
- A configuração de um gatilho de build automatizado usando Poll SCM, que permite ao Jenkins detectar e compilar novos commits automaticamente.
Essas habilidades são fundamentais para automatizar seu fluxo de trabalho de desenvolvimento e são o primeiro passo para construir um pipeline de CI/CD robusto e eficiente com o Jenkins.

