Cómo instalar SonarQube en Ubuntu 20.04 LTS

En este tutorial, le mostraremos cómo instalar SonarQube en Ubuntu 20.04 LTS. Para aquellos de ustedes que no lo sabían, SonarQube es una herramienta web de código abierto para administrar la calidad y el análisis del código. SonarQube incluye funciones como detección de errores y vulnerabilidades y seguimiento de código. SonarQube se puede integrar en GitHub, Azure DevOps, Bitbucket, GitLab y Docker. Si tiene un servidor Linux en las instalaciones o una cuenta en la nube con AWS, Google Cloud, o Azure, útil, puede implementar la edición comunitaria de SonarQube de forma gratuita.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de SonarQube en Ubuntu 20.04 (Focal Fossa). Puede seguir las mismas instrucciones para Ubuntu 18.04, 16.04 y cualquier otra distribución basada en Debian como Linux Mint.

Instale SonarQube en Ubuntu 20.04 LTS Focal Fossa

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando lo siguiente apt comandos en la terminal.

sudo actualización apta
sudo actualización apta

Paso 2. Configure el Kernel.

Ahora modifique los límites del sistema del kernel. Para ello debemos configurar lo siguiente:

  • vm.max_map_count debe ser mayor o igual que 524288
  • fs.file-max debe ser mayor o igual que 131072
  • El usuario de SonarQube debe poder abrir al menos 131072 descriptores de archivo
  • El usuario de SonarQube debe poder abrir al menos 8192 hilos

sudo nano /etc/sysctl.conf

Agregue las siguientes líneas al final de ese archivo:

vm.max_map_count = 262144 fs.file-max = 65536 ulimit -n 65536 ulimit -u 4096

A continuación, abra el archivo limits.conf con el comando:

sudo nano /etc/security/limits.conf

Al final de este archivo, agregue lo siguiente:

sonarqube – nofile 65536 sonarqube – nproc 4096

Luego, reinicie su sistema para que los cambios surtan efecto:

reiniciar

Paso 3. Instalación de Java.

Ejecute el siguiente comando para instalar OpenJDK y JRE 11:

sudo apto instalar openjdk-11-jdk
sudo apto instalar openjdk-11-jre

Paso 4. Instalar PostgreSQL.

SonarQube solo funciona con PostgreSQL. Ahora ejecutamos el siguiente comando para instalarlo:

sudo apto instalar postgresql postgresql-contrib

Una vez hecho esto, inicie y habilite el servicio de base de datos con los comandos:

sudo systemctl habilitar postgresql
sudo systemctl iniciar postgresql

Ahora debemos establecer una contraseña para el usuario de PostgreSQL con el comando:

sudo passwd postgres

Inicie sesión como superusuario de PostgreSQL y cree el usuario de base de datos y base de datos SonarQube PostgreSQL:

sudo -Hiu postgres createuser sonaradmin createdb -O sonaradmin sonarqubedb psql ALTER USER sonaradmin CON contraseña CIFRADA ‘changeme’; q salir

Paso 5. Instalar SonarQube en Ubuntu 20.04.

Ahora descargue la última versión del instalador de SonarQube desde el sitio web oficial:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.1.44547.zip
sudo descomprimir sonarqube-8.9.1.44547.zip -d / opt

Mover la configuración extraída a /opt/sonarqube directorio:

sudo mv /opt/sonarqube-8.9.1.44547 / opt / sonarqube

Paso 5. Configure SonarQube.

Ahora creamos un grupo como sonar:

sudo sonar groupadd
sudo useradd -c “usuario para ejecutar SonarQube” -d / opt / sonarqube -g sonar sonar
sudo sonar chown: sonar / opt / sonarqube -R

A continuación, abra el archivo de configuración de SonarQube con su editor de texto favorito:

nano /opt/sonarqube/conf/sonar.properties

Encuentra las siguientes líneas:

# sonar.jdbc.username = # sonar.jdbc.password =

Descomente y escriba el nombre de usuario y la contraseña de la base de datos de PostgreSQL que hemos creado en los pasos anteriores y agregue la cadena de conexión de Postgres:

sonar.jdbc.username = sonar sonar.jdbc.password = sonar sonar.jdbc.url = jdbc: postgresql: // localhost: 5432 / sonarqube

A continuación, edite el archivo de secuencia de comandos de la sonda y configure RUN_AS_USER:

RUN_AS_USER = sonar

Ahora para iniciar SonarQube:

sudo su sonar cd / opt / sonarqube / bin / linux-x86-64 /

A continuación, ejecute el script para iniciar SonarQube:

./sonar.sh inicio

Para verificar si SonarQube se está ejecutando, ingrese el siguiente comando:

./sonar.sh estado

Paso 6. Configure el servicio Systemd.

Ahora creemos un systemd archivo, por lo que se puede controlar el servicio SonarQube. Crea el archivo con el comando:

sudo nano /etc/systemd/system/sonar.service

Agregue la siguiente línea:

[Unit]

Descripción = Servicio SonarQube Después = syslog.target network.target

[Service]
Escriba = bifurcando ExecStart = / opt / sonarqube / bin / linux-x86-64 / sonar.sh start ExecStop = / opt / sonarqube / bin / linux-x86-64 / sonar.sh stop Usuario = sonar Group = sonar Restart = siempre LimitNOFILE = 65536 LimitNPROC = 4096

[Install]
WantedBy = multi-user.target

Save y close archivo, ahora puede iniciar y habilitar el servicio SonarQube con los siguientes dos comandos:

sudo systemctl start sonarqube
sudo systemctl habilitar sonarqube

Paso 7. Acceder a la interfaz web de SonarQube.

Una vez instalado correctamente, acceda a SonarQube utilizando la IP del servidor del tipo de navegador seguida del puerto 9000:

https: // dirección-IP-de-su-servidor: 9000

Eventualmente debería ver una pantalla de inicio de sesión, donde usará las credenciales predeterminadas de admin/admin. Tras la autenticación exitosa, se le pedirá que cambie la contraseña predeterminada. Una vez que se haya ocupado de eso, se encontrará en la página principal de SonarQube:

¡Felicidades! Ha instalado correctamente SonarQube. Gracias por usar este tutorial para instalar SonarQube en su sistema Ubuntu 20.04 LTS Focal Fossa. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de SonarQube.