Hola amigos. En esta publicación, aprenderá cómo instalar SonarQube en Debian 11.
Según la documentación oficial de SonarQube
SonarQube es una herramienta de revisión automática de código para detectar errores, vulnerabilidades y olores de código en su código. Puede integrarse con su flujo de trabajo existente para habilitar la inspección continua de código en las ramas de su proyecto y solicitudes de incorporación de cambios.
Permite a los equipos analizar rápidamente su código y mejorar la calidad del producto. Tiene muchas integraciones y admite varios lenguajes de programación.
Entonces, puedes adivinar por qué muchos equipos lo prefieren para sus proyectos.
Vamos a por ello.
Instalar los paquetes necesarios
Para esta publicación, siempre vamos a utilizar el usuario root. Antes de comenzar, tenemos que actualizar todo el sistema.
Entonces, una vez que haya iniciado sesión en el servidor, ejecute
apt update
apt install unzip software-properties-common wget default-jdk
Esto instalará Java y otros paquetes básicos.
Instalando PostgreSQL en Debian 11
El siguiente paso es instalar PostgreSQL en el servidor. Esto se debe a que SonarQube lo utiliza como almacén de datos.
Con la versión que tenemos disponible en los repositorios oficiales nos basta.
apt install postgresql postgresql-contrib
Ahora cambiamos a postgres
usuario para acceder a la consola de PostgreSQL.
su - postgres
psql
Ahora crea un nuevo usuario llamado sonarqube
con una contraseña segura y no como la que tengo 🙂
CREATE USER sonarqube WITH PASSWORD 'pss';
Ahora cree la base de datos para SonarQube que pertenece al usuario.
CREATE DATABASE sonarqube OWNER sonarqube;
Asigne permisos en la base de datos.
GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;
Y sal de la consola
\q
exit
Descargar SonarQube en Debian 11
Como estamos trabajando con el usuario root, tenemos que crear una carpeta donde almacenar la descarga. Por ejemplo:
mkdir -p /downloads/sonarqube
Dentro de él, descarga la última versión disponible.
cd /downloads/sonarqube
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.2.2.50622.zip
Ahora descomprime el archivo
unzip sonarqube-9.2.2.50622.zip
Y la carpeta generada, debe moverla a otra ubicación como /opt
.
mv sonarqube-9.2.2.50622 /opt/sonarqube
Ahora cree un nuevo usuario del sistema dedicado a SonarQube
adduser --system --no-create-home --group --disabled-login sonarqube
Hacer que este usuario sea el propietario de la carpeta
chown -R sonarqube:sonarqube /opt/sonarqube
Configurar SonarQube antes de usarlo
En el script de inicialización de la aplicación, tenemos que definir quién ejecutará SonarQube. Así que abre el archivo.
nano /opt/sonarqube/bin/linux-x86-64/sonar.sh
Y encuentra la línea
#RUN_AS_USER
Y cámbialo a esto
RUN_AS_USER=sonarqube
Guarde los cambios y cierre el editor.
A continuación, tenemos que editar otro archivo de configuración.
nano /opt/sonarqube/conf/sonar.properties
Al final del archivo, debe agregar lo siguiente
sonar.jdbc.username=sonarqube
sonar.jdbc.password=pss
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
sonar.web.javaAdditionalOpts=-server
sonar.web.host=0.0.0.0
Guarde los cambios y cierre el editor.
También tenemos que hacer algunos ajustes al kernel.
nano /etc/sysctl.conf
En este archivo, debe agregar las siguientes líneas
vm.max_map_count=262144
fs.file-max=65536
Para aplicar los cambios, puede reiniciar el sistema.
reboot
Iniciar sesión en la interfaz web de SonarQube
Al reiniciar, puede comenzar a ejecutar SonarQube nuevamente.
/opt/sonarqube/bin/linux-x86-64/sonar.sh start
Luego, abra un navegador web, vaya a su dominio y agregue el puerto 9000
que tiene que estar disponible en su firewall. Por ejemplo, http://your-server:9000
y verá lo siguiente después de un tiempo.
Ahora podrá iniciar sesión con el nombre de usuario admin y contraseña admin .
Por razones de seguridad, deberá cambiar la contraseña de inmediato.
Y luego, verá la pantalla principal y podrá comenzar a trabajar con ella.
Disfruta
Conclusión
En esta publicación, aprendió cómo instalar SonarQube en Debian 11 y, por lo tanto, tiene una herramienta importante para depurar el código de su aplicación.