- Jenkins
- Criar usuário para acesso ao sonar
- Configurando o Sonar Scanner
- Configurar o tools
- Obter o retorno do sonar via webhook
- Acessando o registry docker e images do nexus
- Criando um pipeline
- Webhook não funcionou
O Jenkins é uma ferramenta de automação open-source amplamente utilizada para implementar práticas de Integração Contínua (CI) e Entrega Contínua (CD). Ele permite automatizar tarefas repetitivas no desenvolvimento de software, como compilação, testes, implantação e muito mais.
Inicialmente é gerada uma senha aleatório. Acesse docker compose logs jenkins para ver no console a senha. Também podemos obter a senha por docker compose exec -it jenkins cat /var/lib/jenkins/secrets/initialAdminPassword.
Para acessar: jenkins.local. No Dockerfile já é incluído vários plugin, você poderá ajustar a qualquer momento.
Só realizar o login.
Tela inicial.
Lá no sonarqube, precisamos criar um usuário para o Jenkins. Para esse usuário, é preciso adicionar a secret nas credenciais do jenkins. Acesse Global credentials (unrestricted).
- Secret:
CRIADO NO SONAR - ID:
secret-sonar - Description:
secret-sonar
Acesse as configurações do Jenkins: System. É preciso criar um usuário para o jenkins no sonar e obter a secret. O item acima é criado esse usuário.
Ir até o título SonarQube servers:
Environment variables= check true- Add SonarQube
- Name:
sonar-server - Server URL:
http:sonarqube:9000 - Add Server authentication token, credencial criada aqui
Ir em jenkins.local/manage/configureTools. Acessar: SonarQube Scanner instalações.
Ir até o título SonarQube Scanner instalações:
- Name:
sonar-scanner - Instalar a versão automaticamente
Para receber o ok do sonar ver a documentação aqui.
Para ter acesso ao nexus e gravar as imagens criadas. Criar uma variável global em https://jenkins.local/manage/configure no jenkins:
NEXUS_URL=localhost:8123
Observação: Só foi possível acessar o repositório de imagens abrindo a porta 8123 no docker compose, por isso usamos localhost:8123.
É preciso criar um usuário no jenkins para acessar o nexus. Em https://jenkins.local/manage/credentials/store/system/domain/_/, criado no item "Criando usuário para integração com o jenkins":
- Username:
jenkins - Password:
jenkins123 - ID:
jenkins-nexus
Essas configurações serão usadas pelo pipeline criado no projeto aqui.
As configurações acima levam em consideração o uso de um projeto. Esse está no projeto sonarqube-lab e se chama redis-app. Para continuar com o projeto, crie um repositório privado e credenciais de acesso para o jenkins.
Crie um repositório privado do projeto mencionado anteriormente, conforme imagens abaixo. Esse projeto já existe um jenkinsfile configurado.
É preciso criar as credenciais para acesso a esse projeto.
Esses dados serão usados no pipeline:
- User: jenkins-casa-docker
- secret: ghp_UeffBZQ1Jxxx8aI8fkWWgAamxxxxx9
- GIT: https://github.com/danielso2007/redis-app
Agora vamos criar o pipeline para build e upalod de imagens no nexus.
Criar novo pipeline:
Criar uma nova credencial:
Só criar o build do projeto.
Tudo dando certo, o build é com sucesso.
A imagem foi criada no nexus.
Se o webhook não funcionar condfigurado na documentação do sonar, adicioe o webhook no projeto do sonar, conforme imagens abaixo:

































