Ronynetwork / AVSAC

0 stars 0 forks source link

Implementando o Webhooks do Jenkins ao Github e SonarQube #12

Closed 1Sayza closed 2 months ago

1Sayza commented 3 months ago

Tarefa de tentar implementar Webhooks do jebnkins na integração com o Github.

Ronynetwork commented 2 months ago

Para uma melhor integração entre as tecnologias, iremos utilizar dentro do nosso ambiente e de nosso projeto algumas webhooks para automatizar a geração de builds e análise de codigo.

Ronynetwork commented 2 months ago

Escolhi utilizar o Ngrok para a questão de gerenciamento da url e direcionamento de tráfego até meu servidor jenkins entre os serviços. Para a inicialização do ngrok no servidor que esta seu orquestrador, segue os passos:

Fazemos a primeira configuração e instalação da tecnologia na máquina:

image

Ronynetwork commented 2 months ago

Geramos um token de autenticação par ao ngrok conseguir realizar suas atividades dentro das tecnologias:

image

Ronynetwork commented 2 months ago

Finalmente definimos qual endereço de url iremos utilizar para mascarar e gerar um webhook de acesso para coletar as atualizações de estado produzidas pela API:

image

Ronynetwork commented 2 months ago

Com a configuração do ngrok feita e funcional, utilizamos a url gerada pela aplicação para realizar o cadastro nas demais aplicações:

image

Ronynetwork commented 2 months ago

Dentro do Jenkins precisamos configurar para que ele aceite o Github hook trigger e assim consiga monitorar quando acontecer uma alteração no repositório, deve ser configurado pelo caminho (Pagina do job) > Configuração e selecionar a caixa abaixo:

image

Ronynetwork commented 2 months ago

No Github precisamos adicionar a url que foi concedida pelo ngrok e adicionar o sufixo de /github-webhook/ para o funcionamento ideal:

esta configurado para nao ter autenticação e ser ativado apenas em push image

Depois de realizar o push com a webhook configurada corretamente, a seguinte mensagem deve aparecer: image

Ronynetwork commented 2 months ago

Dentro da pipeline ja conseguimos verificar o retorno da interação com o Github hook log:

image

Ronynetwork commented 2 months ago

No sonarqube vamos utilizar webhook para retornar o status da verificação do quality gates que define quando a pipeline vai realizar o build para produção ou não:

image

Pode-se perceber que a unica diferença se da no sufixo após a url do ngrok para fins de diferenciação do próprio ngrok e das aplicações.

Ronynetwork commented 2 months ago

Por fim, temos o retorno do Quality Gates com essa webhook configurada dentro do projeto do SonarQube:

image