Cómo instalar y configurar SonarQube en Ubuntu Server 20.04

Cómo utilizar SonarQube para analizar y mejorar el código

Si eres un desarrollador nativo de la nube (o cualquier otro desarrollador), es posible que necesites una herramienta para analizar tu código y ayudarte a encontrar problemas de seguridad, errores, vulnerabilidades, malos olores y problemas generales. Si solo trabajas en un proyecto pequeño, es posible que puedas hacerlo de la manera tradicional, de forma manual. Sin embargo, cuando estás constantemente generando código para CI/CD, es probable que tus niveles de producción superen tu capacidad para realizar comprobaciones manuales. ¿A dónde acudir entonces?

Siempre puedes instalar una herramienta como SonarQube. Este software basado en web hace un trabajo excepcional al empoderar a los desarrolladores para que escriban código más limpio y seguro. Si tienes un servidor Linux local o una cuenta en la nube con proveedores como AWS, Google Cloud o Azure, puedes implementar la edición comunitaria de SonarQube de forma gratuita. Esta edición incluye las siguientes características:

  • Análisis estático de código para 15 lenguajes ampliamente utilizados
  • Detección de errores y vulnerabilidades
  • Revisión de puntos calientes de seguridad en tu código
  • Seguimiento de malos olores de código
  • Corrección de deuda técnica
  • Métricas de calidad de código e historial
  • Integración con CI/CD
  • Extensible, con más de 50 complementos de la comunidad

También puedes consultar las características de las versiones pagas de SonarQube en su matriz de versiones.

A continuación, te guiaré a través del proceso de instalación de la versión comunitaria de SonarQube en Ubuntu Server 20.04.

Cómo funciona el protocolo FTP y cómo resolver problemas relacionados con él
Índice de Contenido
  1. Lo que necesitarás
  2. Cómo modificar los límites del sistema del kernel
  3. Cómo instalar OpenJDK 11
  4. Cómo instalar y configurar PostgreSQL
  5. Cómo descargar y descomprimir SonarQube
  6. Cómo crear un nuevo grupo y usuario de SonarQube
  7. Cómo configurar SonarQube
  8. Cómo crear un archivo de systemd y iniciar el servicio
  9. Cómo instalar y configurar NGINX
  10. Cómo acceder a SonarQube

Lo que necesitarás

Cómo instalar y configurar SonarQube en Ubuntu Server 20.04 - Nube | Imagen 1 Newsmatic

Lo único que necesitarás para que esto funcione es:

  • Una instancia en ejecución de Ubuntu Server 20.04
  • Un usuario con privilegios sudo

Cómo modificar los límites del sistema del kernel

Lo primero que debemos hacer es realizar algunas modificaciones en un par de límites del sistema del kernel. Abre el archivo sysctl.conf para editarlo con el comando:

sudo nano /etc/sysctl.conf

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

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

Guarda y cierra el archivo.

Microsoft lanza servicio gratuito de almacenamiento en la nube para usuarios de Windows

A continuación, vamos a editar limits.conf. Abre ese archivo con el comando:

sudo nano /etc/security/limits.conf

Al final de este archivo, agrega lo siguiente:

sonarqube - nofile 65536
sonarqube - nproc 4096

Guarda y cierra el archivo.

Reinicia tu sistema para que los cambios surtan efecto.

Cómo evitar que el archivo de registro de transacciones en SQL Server crezca demasiado grande

Cómo instalar OpenJDK 11

Ahora instalaremos la dependencia de OpenJDK. Hazlo con el comando:

sudo apt-get install openjdk-11-jdk -y

Cómo instalar y configurar PostgreSQL

Para la base de datos de SonarQube, utilizaremos PostgreSQL (ya que han dejado de dar soporte a MySQL). Como PostgreSQL no se encuentra en los repositorios estándar, debemos agregarlo.

Descarga e instala la clave GPG con el siguiente comando:

wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

Crea un nuevo repositorio apt con el comando:

Debería su organización migrar a Google Apps desde Microsoft Exchange

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

Instala PostgreSQL con el comando:

sudo apt install postgresql postgresql-contrib -y

Inicia y habilita el servicio de la base de datos con los siguientes comandos:

sudo systemctl enable postgresql
sudo systemctl start postgresql

Establece la contraseña de PostgreSQL con el comando:

Google vs Microsoft: Quién ofrece el mejor almacenamiento en la nube

sudo passwd postgres

Se te pedirá que escribas y verifiques una nueva contraseña para el usuario administrador de la base de datos.

Cambia al usuario postgres con el comando:

su - postgres

Crea un nuevo usuario para la base de datos de SonarQube con el comando:

createuser sonar

Cómo cambiar y administrar la cuenta de Administrador local en Windows mediante Group Policy

Inicia sesión en la consola de PostgreSQL con el comando:

psql

Establece una contraseña para el nuevo usuario sonar con el comando:

ALTER USER sonar WITH ENCRYPTED PASSWORD 'contraseña';

Donde 'contraseña' es una contraseña fuerte y única.

Crea la nueva base de datos sonarqube con el comando:

Cómo generar cadenas aleatorias únicas en una aplicación escalable

CREATE DATABASE sonarqube OWNER sonar;

Concede los privilegios necesarios para la base de datos con el comando:

GRANT ALL PRIVILEGES ON DATABASE sonarqube to sonar;

Sal de la consola de PostgreSQL con el comando:

q

Sal del usuario postgres con el comando:

La importancia de la automatización en la gestión de servidores en la nube

exit

Habilita el servicio de PostgreSQL con los comandos:

sudo systemctl enable postgresql

Cómo descargar y descomprimir SonarQube

Con la base de datos lista, podemos descargar y descomprimir SonarQube. Al momento de escribir esto, la última versión es la 8.5.1.3814. Debes asegurarte de verificar el enlace de descarga para asegurarte de obtener la última versión.

Para descargar SonarQube, ejecuta el siguiente comando:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.5.1.38104.zip

Historia en eterno retorno: El cloud computing podría repetir los errores del auge de las PC en los años 80

Descomprime el archivo con el comando:

unzip sonarqube*.zip

Si encuentras que el comando unzip no está disponible, instálalo con:

sudo apt-get install zip -y

Mueve y renombra el directorio recién creado con el comando:

sudo mv sonarqube-8.5.1.38104 /opt/sonarqube

Cómo usar Insightster con Google Apps para gestionar ideas y mejorar la productividad

Si has descargado una versión diferente a la 8.5.1.38104, asegúrate de cambiar ese número de versión en el comando anterior.

Cómo crear un nuevo grupo y usuario de SonarQube

Ahora necesitamos crear un nuevo grupo y usuario para SonarQube. Crea el grupo con el siguiente comando:

sudo groupadd sonar

Luego, crea el usuario y agrégalo al grupo (y configura el directorio home en /opt/sonarqube) con el siguiente comando:

sudo useradd -c "SonarQube - User" -d /opt/sonarqube/ -g sonar sonar

Cambia la propiedad del directorio /opt/sonarqube con el comando:

sudo chown -R sonar:sonar /opt/sonarqube/

Cómo configurar SonarQube

Nuestro siguiente paso es configurar SonarQube. Abre el archivo de configuración para editarlo con el comando:

sudo nano /opt/sonarqube/conf/sonar.properties

En ese archivo, busca las siguientes líneas:

#sonar.jdbc.username=
#sonar.jdbc.password=
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
#sonar.search.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOf

Debes eliminar el carácter # de las cuatro líneas y cambiar la primera línea a:

sonar.jdbc.username=sonar

Cambia la línea de contraseña para incluir la contraseña que creaste para el usuario sonar en PostgreSQL.

También debes editar las siguientes líneas, asegurándote de que reflejen lo siguiente:

sonar.jdbc.username=sonar
sonar.jdbc.password=CONTRASEÑA
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
sonar.web.host=0.0.0.0
sonar.web.port=9000
sonar.web.javaAdditionalOpts=-server
sonar.search.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError
sonar.log.level=INFO
sonar.path.logs=logs

Donde CONTRASEÑA es la contraseña que estableciste para el usuario sonar en PostgreSQL.

Guarda y cierra el archivo.

Cómo crear un archivo de systemd y iniciar el servicio

Ahora crearemos un archivo de systemd para poder controlar el servicio de SonarQube. Crea el archivo con el siguiente comando:

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

Pega lo siguiente en ese archivo:

[Unit]
Description=SonarQube service
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/opt/sonarqube/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/bin/linux-x86-64/sonar.sh stop
User=sonar
Group=sonar
Restart=always
LimitNOFILE=65536
LimitNPROC=4096

[Install]
WantedBy=multi-user.target

Guarda y cierra el archivo.

Habilita e inicia el servicio con los siguientes comandos:

systemctl enable sonarqube
systemctl start sonarqube

Cómo instalar y configurar NGINX

Utilizaremos NGINX como proxy inverso para SonarQube. Para instalar NGINX, ejecuta el siguiente comando:

sudo apt-get install nginx -y

Inicia y habilita el servicio de NGINX con los comandos:

sudo systemctl enable nginx
sudo systemctl start nginx

Crea un nuevo archivo de configuración de NGINX con el comando:

sudo nano /etc/nginx/sites-enabled/sonarqube.conf

Pega lo siguiente en ese archivo:

server{

listen 80;
server_name sonarqube.da.com;
access_log /var/log/nginx/sonar.access.log;
error_log /var/log/nginx/sonar.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;

location / {
proxy_pass http://127.0.0.1:9000;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
}

Guarda y cierra el archivo.

Reinicia NGINX con el comando:

sudo systemctl restart nginx

Cómo acceder a SonarQube

Ahora que SonarQube está instalado, abre un navegador web y dirígete a http://DIRECCIÓN_IP_DEL_SERVIDOR:9000 (donde DIRECCIÓN_IP_DEL_SERVIDOR es la dirección IP de tu servidor). Verás la página de bienvenida (Figura A).

Figura A

Cómo instalar y configurar SonarQube en Ubuntu Server 20.04 - Nube | Imagen 2 Newsmatic

Haz clic en "Iniciar sesión" y utiliza las credenciales "admin/admin". Una vez que hayas iniciado sesión, verás la página principal de SonarQube, desde donde puedes comenzar a cargar código para su análisis (Figura B).

Figura B

Cómo instalar y configurar SonarQube en Ubuntu Server 20.04 - Nube | Imagen 3 Newsmatic

Felicidades, ahora tienes una poderosa herramienta que te ayudará a crear código limpio y sin problemas. Úsala con frecuencia y sabiduría.

Suscríbete al canal de YouTube de How To Make Tech Work de Newsmatic para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Nube, allí encontraras muchos artículos similares a Cómo instalar y configurar SonarQube en Ubuntu Server 20.04 , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.