--- id: LSN-0021 discussion: DSC-0020 title: Lesson - Jenkins Gitea Integration and Non-Standard Path status: done created: 2026-04-07 --- # Lesson - Jenkins Gitea Integration and Non-Standard Path ## Contexto A integração de CI foi alterada para suportar o Gitea como servidor de repositórios e o Jenkins como executor, mantendo uma localização específica para o `Jenkinsfile` solicitada pelo usuário. ## O Que Foi Feito 1. **Localização**: O `Jenkinsfile` foi consolidado em `files/config/Jenkinsfile`. 2. **Notificação Gitea**: Adicionado suporte ao comando `giteaStatus` no pipeline do Jenkins para fornecer feedback visual diretamente nos commits e PRs do Gitea. 3. **Limpeza**: Removidas configurações de GitHub Actions. ## Como Pensar Sobre o Modelo - **Localização**: Embora o padrão seja manter o `Jenkinsfile` na raiz, o Jenkins permite configurar o caminho do script. Nesses casos, a flexibilidade do Jenkins deve ser usada para atender requisitos de organização de arquivos do projeto. - **Integração de Status**: A sincronização de status entre Jenkins e Git (Gitea neste caso) é fundamental para a experiência de desenvolvimento (DX), permitindo que desenvolvedores vejam o resultado do CI sem sair da interface do Gitea. - **Centralização em Makefile**: Manter a lógica de CI no `Makefile` (`make ci`) permite que o `Jenkinsfile` seja apenas um orquestrador de chamadas de status e execução de containers, facilitando a migração ou depuração local. ## Referencias - DEC-0003 - AGD-0018 - PLN-0003