Introdução
Bem-vindo a este laboratório sobre a configuração de projetos Freestyle básicos no Jenkins. O projeto Freestyle é uma opção altamente flexível e fácil de usar no Jenkins, adequada para qualquer tipo de projeto. Ele permite que você configure gatilhos de build, etapas de build e ações pós-build através de uma interface gráfica baseada na web.
Neste laboratório, você aprenderá a:
- Adicionar etapas de build com comandos shell a um projeto.
- Agendar builds para execução automática usando gatilhos.
- Arquivar artefatos de build para uso posterior.
- Configurar ações pós-build, como a limpeza do workspace.
Uma instância do Jenkins já está em execução e um projeto Freestyle básico chamado sample-project foi criado para você. 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.
Adicionar uma Etapa de Build
Nesta etapa, você adicionará uma etapa de build ao seu projeto Freestyle. As etapas de build são o núcleo de um projeto, definindo as ações que o Jenkins executará, como compilar código, executar testes ou rodar scripts shell.
Primeiro, vamos navegar até a página de configuração do projeto.
- Abra o navegador Firefox a partir da interface da área de trabalho. O navegador abrirá automaticamente em
http://localhost:8080. Não é necessário fazer login. - No painel do Jenkins, você verá o
sample-project. Clique no nome dele para acessar a página do projeto. - No menu à esquerda, clique em Configure.

Agora você está na página de configuração do projeto. Vamos adicionar uma etapa de build.
- Role para baixo até a seção Build Steps.
- Clique no botão suspenso Add build step e selecione Execute shell.

- Uma caixa de texto aparecerá. Insira os seguintes comandos na caixa Command:
echo "Building the project..."
date
echo "Build complete."
- Clique no botão Save na parte inferior da página.
Você configurou uma etapa de build. Vamos executar o build para vê-lo em ação.
- Na página do projeto, clique em Build Now no menu à esquerda.
- Um novo build aparecerá na seção Build History. Clique no número do build (por exemplo,
#1). - No menu à esquerda desse build, clique em Console Output.
Você verá a saída dos comandos shell que adicionou, confirmando que sua etapa de build foi executada com sucesso.
Started by user admin
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/sample-project
[sample-project] $ /bin/sh -xe /tmp/jenkins12345.sh
+ echo 'Building the project...'
Building the project...
+ date
Tue Jan 1 12:00:00 UTC 2024
+ echo 'Build complete.'
Build complete.
Finished: SUCCESS
Agendar Builds com Gatilhos
Nesta etapa, você aprenderá a agendar builds automaticamente usando gatilhos de build. Este é um recurso fundamental para integração contínua, permitindo que você execute builds periodicamente.
- Navegue de volta para a página de configuração do
sample-project(Página do Projeto > Configure). - Encontre a seção Triggers.
- Marque a caixa ao lado de Build periodically.

- Uma área de texto Schedule aparecerá. Este campo usa a sintaxe cron para definir o agendamento. A sintaxe consiste em 5 campos separados por espaços:
MINUTE HOUR DAYOFMONTH MONTH DAYOFWEEK. - Para executar o build aproximadamente a cada minuto, insira o seguinte no campo Schedule:
* * * * *
Esta expressão cron significa "executar a cada minuto". Embora o Jenkins suporte o símbolo H para distribuição de carga, H/1 * * * * na verdade executa uma vez por hora, não a cada minuto. Para executar realmente a cada minuto, use * * * * *.
- Clique em Save.
O Jenkins agora acionará automaticamente um novo build para o sample-project aproximadamente uma vez por minuto. Você pode observar isso acompanhando o Build History na página do projeto.
Arquivar Artefatos de Build
Nesta etapa, você aprenderá a arquivar artefatos de build. Artefatos são os arquivos de saída produzidos por um build, como binários compilados ou relatórios. Arquivá-los os torna disponíveis para download após a conclusão do build.
Primeiro, precisamos modificar nossa etapa de build para criar um arquivo que possamos arquivar.
- Navegue até a página de configuração do
sample-project. - Role até a seção Build Steps e encontre sua caixa de comando Execute shell.
- Adicione uma nova linha ao script para criar um arquivo chamado
build-info.txt. A variável$BUILD_NUMBERé uma variável de ambiente fornecida pelo Jenkins que contém o número do build atual.
echo "Building the project..."
date
echo "Build complete."
echo "This artifact is from build #$BUILD_NUMBER" > build-info.txt
Em seguida, vamos configurar uma ação pós-build para arquivar este arquivo.
- Role para baixo até a seção Post-build Actions.
- Clique no menu suspenso Add post-build action e selecione Archive the artifacts.

- No campo Files to archive, insira o nome do arquivo que deseja arquivar:
build-info.txt. Você também pode usar curingas como**/*.jarpara arquivar vários arquivos. - Clique em Save.

Agora, execute um novo build clicando em Build Now. Assim que o build for concluído:
- Clique no número do build mais recente no Build History.
- Na página de status do build, você verá uma seção chamada Build Artifacts com um link para
build-info.txt. Você pode clicar nele para visualizar ou baixar o arquivo.

Configurar a Limpeza do Workspace
Nesta etapa final de configuração, você adicionará uma ação pós-build para limpar o workspace. Esta é uma boa prática para economizar espaço em disco e garantir que cada build comece em um ambiente limpo, evitando interferências de arquivos gerados em builds anteriores.
- Vá para a página de configuração do
sample-project. - Role para baixo até a seção Post-build Actions.
- Clique no menu suspenso Add post-build action e selecione Delete workspace when build is done.

- Clique em Save.

Agora, após a conclusão de cada build do sample-project, o Jenkins excluirá todos os arquivos no diretório do workspace. Observe que os artefatos arquivados são armazenados separadamente e não são afetados pela limpeza do workspace. Isso garante que seus artefatos de build permaneçam disponíveis enquanto mantém o ambiente de build limpo para a próxima execução.
Resumo
Parabéns por concluir este laboratório. Você aprendeu com sucesso os fundamentos da configuração de um projeto Jenkins Freestyle.
Neste laboratório, você praticou:
- Adicionar um comando Execute shell como etapa de build.
- Configurar um Build Trigger para agendar builds periodicamente usando a sintaxe cron.
- Criar e arquivar artefatos de build.
- Configurar uma Post-build Action para excluir o workspace após um build.
Essas são habilidades essenciais para automatizar seus processos de build, teste e implantação com o Jenkins. Agora você pode aplicar esses conceitos para criar e gerenciar seus próprios pipelines de CI/CD.

