Page 16 - Revista_60.pub
P. 16
A PROGRAMAR
Introdução ao SonarQube
Na edição 56 falei sobre a gestão da qualidade do códi- - sonarqube-volume:/opt/sonarqube/lib/
go e introduzi o SonarQube e algumas das suas funcionalida- bundled-plugins
des. Neste artigo, vou configurar uma instância de Sonarqube
#--------
e como configurar diversos scanners para analisar os projetos # SONARDB
Java e C# no meu Macbook. #--------
sonardb:
image: 'postgres:9.6.2'
networks:
Let’s start - CI-Network
environment:
Uma chamada de atenção antes de começar a usar a - POSTGRES_USER=sonar
imagem docker do Sonarqube: - POSTGRES_PASSWORD=sonar
volumes:
“By default, the image will use an em- - sonardb-volume:/var/lib/postgresql/data
bedded H2 database that is not suited for
production. “ Este ficheiro de configuração não tem nada de espe-
cial, configurar a instância e a base de dados em postgres.
Como vou usar uma imagem docker do SonarQube,
vou começar por criar o ficheiro docker-compose.yml, onde Vamos arrancar o contentor:
faço as configurações necessárias para correr sem problemas.
Para efeitos de demonstração, o ficheiro docker- $> docker-compose up –d
compose.yml tens as credenciais em texto claro. Devem consi- $> docker-compose logs –f
derar docker-secrets para a gestão de credenciais dos siste-
mas. A primeira vez que o contentor arrancar, vai demorar
a “montar a infra-estrutura”, mas as vezes seguintes torna-se
docker-compose.yml:
mais rápido.
version: '3' Passado uns momentos a aplicação está disponível em:
#--------------- http://localhost:9000
# NETWORK
#---------------
networks:
CI-Network:
driver: bridge
#---------------
# VOLUMES
#---------------
volumes:
sonarqube-volume:
sonardb-volume:
services:
#--------
# SONAR
#--------
sonar: Figure 1: SonarQube @ http://localhost:9000
image: 'sonarqube:6.7.2'
networks: De acordo com a página SonarQube Security (https://
- CI-Network docs.sonarqube.org/display/SONAR/Authentication) :
ports:
- '9000:9000' As credenciais de acesso são:
- '9022:9022'
links: admin / admin
- sonardb
depends_on: Depois do Login temos este wizard:
- sonardb
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://
sonardb:5432/sonar
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
volumes:
- sonarqube-volume:/opt/sonarqube/conf
- sonarqube-volume:/opt/sonarqube/data
- sonarqube-volume:/opt/sonarqube/
extensions Figure 2: New project wizard
16