Introdução
Bem-vindo a este laboratório sobre a integração do Jenkins com o Git. O Gerenciamento de Controle de Fonte (SCM - Source Control Management) é um pilar do desenvolvimento de software moderno. Integrar seu servidor de Integração Contínua (CI - Continuous Integration), como o Jenkins, com um sistema SCM, como o Git, é um passo fundamental na automação de 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 (Projeto Livre) vinculado a um repositório Git local.
- Adicionar uma etapa de build para executar um script do repositório.
- Executar um build manualmente para testar a configuração.
- Configurar a sondagem (polling) do SCM para acionar builds automaticamente em novos commits.
Uma instância do Jenkins já está em execução 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, você não precisa inserir o URL manualmente. Nenhum login é necessário.
Verificar o Plugin Git
O Jenkins vem com integração Git integrada. O plugin Git já está instalado por padrão, permitindo que o Jenkins interaja com repositórios Git. Vamos verificar se o plugin Git está disponível.
- Abra o navegador Firefox a partir da interface de desktop. O navegador abrirá automaticamente em
http://localhost:8080, então você não precisa inserir o URL manualmente. Nenhum login é necessário. - No painel principal (dashboard) do Jenkins, clique no ícone de engrenagem (botão de configurações) no canto superior direito.
- Na página de configurações, localize e clique em Plugins.
- Selecione a aba Installed plugins (Plugins Instalados).
- Na caixa de pesquisa à direita, digite
Gitpara filtrar os plugins instalados. - Você deverá ver o Git plugin listado entre os plugins instalados, confirmando que a integração Git está disponível.

Com a confirmação de que o plugin Git está disponível, você pode prosseguir para a próxima etapa para criar um projeto que utilize Git.
Criar um Projeto e Configurar Git SCM
Com o plugin Git instalado, você pode agora criar um projeto Jenkins e configurá-lo para puxar o código fonte de um repositório Git.
- Retorne ao painel principal do Jenkins clicando no link Dashboard na navegação de 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, por favor, verifique se o plugin Git foi instalado corretamente na etapa anterior.
- No campo Repository URL, insira o caminho absoluto para o repositório Git local preparado para você:
https://github.com/labex-labs/git-playground
- Deixe o Branch Specifier como o padrão,
*/master. Isso informa ao Jenkins para usar o branchmaster. - Clique no botão Save na parte inferior da página.

Você criou com sucesso um job Jenkins vinculado a um repositório Git. Na próxima etapa, você definirá o que o job deve fazer com o código.
Adicionar Etapa de Build e Executar um Build Manual
Agora que o Jenkins sabe de onde obter o código, você precisa dizer a ele o que fazer com esse código. Você adicionará um passo 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 dropdown Add build step e selecione Execute shell.
- Na área de texto Command, insira os seguintes comandos de build:
echo "Building the project..."
date
echo "Listing files in workspace:"
ls -la
echo "Build complete!"
Quando o job for executado, o Jenkins primeiro clonará o repositório Git em seu workspace e, em seguida, executará esses comandos de dentro desse workspace.
- 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 para sucesso).
- Clique no número do build (por exemplo,
#1). - Clique em Console Output no menu do build.

Você deverá ver a 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 rev-parse --resolve-git-dir /var/jenkins_home/workspace/git-integration-project/.git ## timeout=10
...
[git-integration-project] $ /bin/sh -xe /tmp/jenkins123.sh
+ echo Building the project...
Building the project...
+ date
Mon Jan 1 12:01:00 UTC 2024
+ echo Listing files in workspace:
Listing files in workspace:
+ ls -la
total 24
drwxr-xr-x 3 jenkins jenkins 4096 Aug 21 10:33 .
drwxr-xr-x 3 jenkins jenkins 4096 Aug 21 10:33 ..
drwxr-xr-x 8 jenkins jenkins 4096 Aug 21 10:33 .git
-rw-r--r-- 1 jenkins jenkins 32 Aug 21 10:33 README.md
-rw-r--r-- 1 jenkins jenkins 15 Aug 21 10:33 file1.txt
-rw-r--r-- 1 jenkins jenkins 15 Aug 21 10:33 file2.txt
+ echo Build complete!
Build complete!
Finished: SUCCESS
Habilitar Builds Automáticos com SCM Polling
Executar builds manualmente é útil para testes, mas o verdadeiro poder da CI é a automação. Nesta etapa, você configurará o Jenkins para iniciar automaticamente um build sempre que uma alteração for detectada no repositório Git.
- Navegue de volta à 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á. Isso 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.
Como estamos usando um repositório remoto do GitHub (https://github.com/labex-labs/git-playground), não podemos modificá-lo diretamente para testar o trigger de polling. No entanto, você pode observar como o SCM polling funciona:
- 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. Você deverá ver entradas como:
Started on Aug 21, 2025, 10:36:00 AM
Using strategy: Default
[poll] Last Built Revision: Revision d22f46ba8c2d4e07d773c5126e9c803933eb5898 (refs/remotes/origin/master)
The recommended git tool is: NONE
No credentials specified
> git --version ## timeout=10
> git --version ## 'git version 2.30.2'
> git ls-remote -h -- https://github.com/labex-labs/git-playground ## timeout=10
Found 3 remote heads on https://github.com/labex-labs/git-playground
[poll] Latest remote head revision on refs/heads/master is: d22f46ba8c2d4e07d773c5126e9c803933eb5898 - already built by 1
Done. Took 0.36 sec
No changes
Isso demonstra que o Jenkins está consultando com sucesso o repositório remoto em busca de alterações a cada minuto. Em um cenário do mundo real, quando novos commits são enviados para o repositório, o Jenkins acionaria automaticamente um novo build.
- Você também pode acionar manualmente outro build clicando em Build Now para ver como o sistema de polling se integra aos builds manuais.
Resumo
Neste laboratório, você adquiriu 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 origem Git.
Você conseguiu com sucesso:
- Verificar que o plugin Git essencial está disponível para habilitar as capacidades de integração Git do Jenkins.
- Criar um projeto Freestyle e configurá-lo para fazer checkout de código de um repositório Git.
- Definir um passo de build para executar um script shell a partir do código com checkout.
- Verificar a configuração executando um build manual.
- Configurar um gatilho de build automatizado usando Poll SCM, que permite ao Jenkins detectar e construir 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.

