Implementación de la plataforma SonarQube en un contenedor de docker para realizar la evaluación de código de un repositorio en local.
A continuacion, se detallan los requisitos necesarios para la ejecucion de SonarQube
Se puede instalar SonarQube de dos formas
Mostrar Forma 1
Es una forma rápida y directa de iniciar SonarQube. Requiere menos configuración inicial.
No permite configuraciones avanzadas fácilmente, como conectar a una base de datos externa.
docker run -d --name sonarqube -p 9000:9000 -v sonarqube_data:/opt/sonarqube/data sonarqube
Mostrar Forma 2
Permite configurar múltiples servicios (como una base de datos PostgreSQL) y gestionar redes y volúmenes fácilmente. Más fácil de escalar y mantener en entornos más grandes o complejos. Permite personalizar y gestionar configuraciones avanzadas.
Requiere una configuración inicial más compleja.
version: '2'
services:
sonarqube:
image: sonarqube
ports:
- "9000:9000"
networks:
- sonarnet
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
db:
image: postgres
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresql_data:/var/lib/postgresql/data
networks:
sonarnet:
driver: bridge
volumes:
sonarqube_conf:
sonarqube_data:
sonarqube_extensions:
sonarqube_bundled-plugins:
postgresql:
postgresql_data:
Se ejecuta el siguiente comando en este caso, haciendo uso del docker compose
docker-compose up -d
En la dir ip
localhost:9000
Encontramos la ejecucion de SonarQube
Se ingresa por defecto con
username: admin
password: admin
Se configura la contraseña para seguir iniciando sesion en dicha instalación de SonarQube
En este lab, se creara un proyecto local
Se asigna un nombrenombre, llave y rama principal del proyecto que es la rama a analizar por sonarqube.
Se elige la configuracion general del proyecto
Seleccionamos la opcion de analizar el proyecto localmente
Generamos el nuevo token y seleccionamos el sistema operativo donde se esta ejecutando Sonar-Scanner o se va a instalar
sqp_f20c4a73fbfdf483bc98a2cc436287dba92efacf
Se debe instalar Sonar-Scanner para poder seguir con el procedimiento de Sonar-Qube
No tengo Sonar-Scanner instalado en Linux
Se deberan ejecutar los siguientes comandos
sudo apt update
sudo apt upgrade
sudo apt install wget
sudo apt install unzip
Se descarga y descomprime la ultima version de scanner usando este link
Link de descarga ultima version
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip
Luego se realiza el comando unzip sobre el archivo descargado
Se reubica la carpeta descargada con el comando
sudo mv /opt/sonar-scanner
Ya tengo Sonar-Scanner instalado en Linux
Con sonar Scanner ya instalado se ejecutan los siguientes comandos
sudo ln -s /opt/sonar-scanner/bin/sonar-scanner /usr/local/bin/sonar-scanner
echo 'export PATH="/opt/sonar-scanner/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
Ahora nos movemos a la carpeta que contiene el proyecto que queremos analizar
Y sobre dicha carpeta se ejecutan los comandos que nos fueron dados por la web page de SonarQube cuando generabamos el token
Se puede ver la alerta generada por sonar-qube