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- Lo que necesitarás
- Cómo modificar los límites del sistema del kernel
- Cómo instalar OpenJDK 11
- Cómo instalar y configurar PostgreSQL
- Cómo descargar y descomprimir SonarQube
- Cómo crear un nuevo grupo y usuario de SonarQube
- Cómo configurar SonarQube
- Cómo crear un archivo de systemd y iniciar el servicio
- Cómo instalar y configurar NGINX
- Cómo acceder a SonarQube
Lo que necesitarás
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 WindowsA 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 grandeCó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 Exchangesudo 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 nubesudo 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
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 escalableCREATE 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 nubeexit
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
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
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
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
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