Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introdução ao SonarQube
#---------------
# 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
A PROGRAMAR
INTRODUÇÃO AO SONARQUBE
Vamos fazer bypass a este passo.
Primeira coisa fazer é alterar a password criada por
omissão, para tal acedesse à “My Account”:
SonarC#
SonarJS
SonarJava
SonarXML
SonarWeb
Carregar em “Restart” para fazer Apply das altera-
ções.
Instalação do SonarQube é bastante simples com
Docker, pelo que vamos configurar o SonarQube.
“Administration” à “Marketplace”
17
A PROGRAMAR
INTRODUÇÃO AO SONARQUBE
Por omissão, qualquer pessoa pode submeter os resul- Deixar as configurações do “sonar-administrators” como
tados sem estar autenticado. Se o projeto não existir ele é cria- estão.
do, se existir é atualizado.
Infelizmente, por experiencia própria, alguns
Remark
“developers” não têm “dois dedos de testa” e estragam mais do
que constroem. Então temos que forçar a disciplina, ativando a If a user (or a group) doesn’t have any boxes che-
opção “Force user authentication”. cked, they will “disappear” from the list and only will
appear if you explicitly search for him.
Nós agora, como administradores, temos controlo
sobre a plataforma.
Create Project
Figure 8: Force user authentication Associate Users to User Group (if needed)
Temos que alterar as permissões globais dos grupos e Associate User Group to Project
utilizadores acedendo a “Administration” -> Security -> “Global
Permissions” e uncheck “Execute Analysis” e “Create Projects” Set Permissions for User Group
para o grupo “Anyone”.
18
A PROGRAMAR
INTRODUÇÃO AO SONARQUBE
De acordo com a documentação: Figure 17: Create new User
19
A PROGRAMAR
INTRODUÇÃO AO SONARQUBE
Lembrem-se, como o nosso grupo não tem permissões As configurações terminaram ... por agora.
ele não vai aparecer, pelo que temos que procurar na “Search
No próximo passo, vamos configurar e realizar a aná-
box”.
lise de projetos.
Let us Scan
SonarQube fornece diversas formas de fazer análise
aos projetos, desde a linha de comandos até à integração
com o Jenkins.
De acordo com o site existem diversos scanners dis-
poníveis:
Figure 21: Group permissions SonarQube Scanner for MSBuild
Step 6: Set Permissions for User Group Temos que ir ao site e configurar de acordo com o
site:https://docs.sonarqube.org/display/SCAN/
Vamos a “Administration” -> Security -> “Global Permissions” Analyzing+with+SonarQube+Scanner
Precisamos de criar um ficheiro sonar-
project.properties e tem que estar na raiz do projeto.
Exemplo do ficheiro que está no site:
# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# this is the name and version displayed in the
SonarQube UI. Was mandatory prior to SonarQube
6.1.
sonar.projectName=My project
sonar.projectVersion=1.0
Figure 23: Group permissions # Path is relative to the sonar-
project.properties file. Replace "\" by "/" on
E escolhemos “Execute Analysis” para o novo Grupo. Windows.
Os utilizadores em si não devem ter quaisquer permissões. # This property is optional if sonar.modules is
set.
A tabela deverá ser semelhante a esta: sonar.sources=.
20