Skip to content

Latest commit

 

History

History
182 lines (103 loc) · 6.18 KB

File metadata and controls

182 lines (103 loc) · 6.18 KB

Índice

Voltar

Jenkins

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.

Senha jenkins

Para acessar: jenkins.local. No Dockerfile já é incluído vários plugin, você poderá ajustar a qualquer momento.

Login jenkins

Login jenkins

Login jenkins

Login jenkins

Login jenkins

Login jenkins

Só realizar o login.

Login jenkins

Tela inicial.

Login jenkins

Criar usuário para acesso ao sonar

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

secret jenkins

secret jenkins

secret jenkins

Configurando o Sonar Scanner

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

secret jenkins

secret jenkins

Configurar o tools

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

secret jenkins

secret jenkins

Obter o retorno do sonar via webhook

Para receber o ok do sonar ver a documentação aqui.

Acessando o registry docker e images do nexus

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.

secret jenkins

secret jenkins

É 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

secret jenkins

secret jenkins

secret jenkins

Essas configurações serão usadas pelo pipeline criado no projeto aqui.

Criando um pipeline

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.

Criando o repositório privado

Crie um repositório privado do projeto mencionado anteriormente, conforme imagens abaixo. Esse projeto já existe um jenkinsfile configurado.

secret jenkins

É preciso criar as credenciais para acesso a esse projeto.

secret jenkins

secret jenkins

Esses dados serão usados no pipeline:

Criar o pipeline do projeto

Agora vamos criar o pipeline para build e upalod de imagens no nexus.

secret jenkins

Criar novo pipeline:

secret jenkins

Criar uma nova credencial:

secret jenkins

secret jenkins

secret jenkins

Iniciar o build

Só criar o build do projeto.

secret jenkins

Tudo dando certo, o build é com sucesso.

secret jenkins

A imagem foi criada no nexus.

secret jenkins

Webhook não funcionou

Se o webhook não funcionar condfigurado na documentação do sonar, adicioe o webhook no projeto do sonar, conforme imagens abaixo:

secret jenkins

secret jenkins


Voltar