Implementar el servidor SonarQube

Hola habrozhiteli!


En esta guía, quiero establecer una configuración paso a paso para implementar una plataforma para el análisis continuo y la medición de la calidad del código. Hay muchos artículos similares en la red, pero quiero destacar solo lo principal, para que todos los recién llegados puedan tratarlo la primera vez. SonarQube 7.9 con PostgreSQL 10 .


Ya aprendiste el wiki, ¿verdad?


Y antes de comenzar


Quiero que decida qué versión implementar, porque con cada actualización se pagan más y más complementos, lo que, por supuesto, afectará los costos financieros o la funcionalidad.


En general, siga este enlace y vea por usted mismo: matriz de versión de complemento .


Según la documentación: se recomienda mantener el servidor y la base de datos en diferentes máquinas . Pero en el sandbox también puedes entrenar en uno.


Si tienes Ubuntu y 2 servidores


Si decide seguir el camino de las recomendaciones y para no molestarse en crear dos máquinas virtuales, creó una: puede cambiar el nombre y la dirección IP del segundo servidor fácilmente y simplemente usando estos comandos:


::: cambiar nombre de host :::


 $ hostnamectl set-hostname sonarapp sudo nano /etc/hostname sudo nano /etc/hosts 

::: cambiar ip ubuntu :::


 sudo nano /etc/netplan/01-eth0.yaml 

Allí, encuentre las líneas familiares y cambie los parámetros del nombre de la máquina y la dirección IP.


Y lo que debería pasar :


Servidor de aplicaciones de sonda [SonarApp]: 8 núcleos, 16 GB de RAM, 20 Gb + 50 Gb (/ opt) de espacio en disco


usuariocontraseñaIPPlataforma
administradorpass123192.168.0.15Ubuntu linux

Base de datos de sonda [SonarDB]: 8 núcleos, 16 GB de RAM, 20 Gb + 50 Gb (/ opt) de espacio en disco


usuariocontraseñaIPPlataforma
administradorpass123192.168.0.16Debian Linux

1. Sugiero comenzar con una base de datos


Inicie sesión bajo nuestro buen administrador en 192.168.0.16 (SonarDB). Es muy importante que NO se ejecute como root.


Asegúrese de que PostgreSQL esté instalado en el sistema. Hay muchas opciones, pero prueba la más simple:


 $ which psql $ psql -V $ find / -name 'postgres' 

ver qué paquetes se descargan al sistema:


 $ dpkg -l | grep postgres 

Si no se encontró nada, verifique si PostgreSQL 10 está en los repositorios:


 $ sudo apt-cache search postgresql-10 

La documentación oficial de instalación de PostgreSQL: enlace . Pero si en orden:


 $ wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add - $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list' $ sudo apt-get update $ sudo apt-get install postgresql-10 pgadmin4 

  • Tuve problemas con la configuración regional después de agregar postgres al sistema. Método de solución (Solución en /etc/default/locale ):
     $ sudo locale-gen en_US.UTF-8 $ sudo localedef -i en_US -f UTF-8 en_US.UTF-8 $ export LANGUAGE=en_US.UTF-8 $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 $ sudo locale-gen en_US.UTF-8 $ sudo dpkg-reconfigure locales 

El comando dpkg-reconfigure locales abrirá un cuadro de diálogo en Debian para seleccionar la configuración regional deseada. Elija en_US.UTF-8 .


Lanzamiento


 $ sudo systemctl start postgresql $ sudo systemctl status postgresql $ sudo nano /etc/postgresql/10/main/postgresql.conf ### CTRL + W ### -> listen_addresses = '*' $ sudo systemctl restart postgresql 

Compruebe si la instalación se realizó correctamente:


 $ sudo apt-get install -y net-tools $ sudo netstat -antup | grep 5432 $ dpkg --get-selections |grep postgres $ pg_lsclusters 

Felicidades Proceder. :)


 sudo su -l postgres psql ### CTRL + Z ### -> exit from psql ### exit ### 

Cambiar la contraseña para el usuario predeterminado de PostgreSQL


 $ sudo passwd postgres 

Cambie al usuario de postgres.


 $ su - postgres 

Cambie al shell PostgreSQL.


 $ psql 

Configuración básica de PostgreSQL


Establezca una contraseña para el usuario recién creado para la base de datos SonarQube.


 CREATE ROLE sonar WITH PASSWORD 'sonar'; SELECT rolname FROM pg_roles; alter role sonar login; SELECT pg_reload_conf(); Create a new database for PostgreSQL database by running: create database sonar owner sonar; 

Salga del shell psql:


 '\q' 

Migración de la base de datos PostgreSQL


Detener el servicio PostgreSQL


 $ service postgresql stop # or $ /usr/lib/postgresql/10/bin/pg_ctl stop -D /var/lib/postgresql/10/main 

Cambiar directorio de datos.


 $ psql 

 # show data_directory; /var/lib/postgresql/10/main 

 $ sudo rsync -av /var/lib/postgresql /opt/sonardb $ sudo mv /var/lib/postgresql/*/main /var/lib/postgresql/*/main.bak $ sudo nano /etc/postgresql/*/main/postgresql.conf # change location for new data_directory. data_directory = '/opt/sonardb/postgresql/10/main' listen_addresses = '*' 

Cambio de cheque


 $ sudo -u postgres psql 

 # show data_directory; ______________________ /opt/sonardb/postgresql/10/main # \q 

Y también es necesario verificar los parámetros del sistema. Pueden agregarse al archivo /etc/sysctl.conf (o /etc/sysctl.d/99-sonarqube.conf ) o ingresarse en el terminal:


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

2. Y ahora participaremos en el servidor de aplicaciones SonarQube


Inicie sesión bajo nuestro buen administrador en 192.168.0.15 (SonarApp). También es importante que NO sea root.


Esas líneas que comienzan con el carácter $ son entrada de terminal, y el resto es lo que estamos corrigiendo en los archivos o lo que debería recibirse en la salida (salida de información)


SonarQube requiere JAVA para funcionar. Tomar OpenJDK


Instalar open-jdk11


 $ sudo apt-get install openjdk-11-jdk 

cambiar el CAMINO de Java


 $ nano ~/.bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH 

Verifique que JAVA se haya agregado con éxito al sistema :


 $ java -version 

Descargue y configure SonarQube


Descargue el archivo de archivos de instalación de SonarQube.


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

Instale descomprimir ejecutando:


 # apt-get -y install unzip 

Descomprima el archivo usando el siguiente comando


 $ sudo unzip sonarqube-7.9.1.zip -d /opt 

Cambiar el nombre del directorio


 $ sudo mv /opt/sonarqube-7.9.1 /opt/sonarqube 

Agregar usuario de sonda y privilegios


Obtenga más información sobre la gestión de usuarios en Unix .


Cree un usuario llamado sonar y /opt/sonarqubedirectory en el propietario de /opt/sonarqubedirectory


 $ sudo adduser sonar $ sudo passwd sonar $ sudo chown -R sonar:sonar /opt/sonarqube 

obtener una lista de usuarios en el sistema:


 $ cut -d: -f1 /etc/passwd 

En qué grupos está tu nuevo usuario:


 $ groups sonar 

Continuación configurar SonarQube


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

 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.web.host=192.168.0.15 # sonar.jdbc.url=jdbc:postgresql://localhost/username sonar.jdbc.url=jdbc:postgresql://192.168.0.16/sonar sonar.web.javaAdditionalOpts=-server 

Cree un archivo /etc/systemd/system/sonarqube.service y /etc/systemd/system/sonarqube.service el siguiente contenido en el archivo


 [Unit] Description=SonarQube service After=syslog.target network.target [Service] Type=simple User=sonar Group=sonar PermissionsStartOnly=true ExecStart=/bin/nohup java -Xms32m -Xmx32m -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/lib/sonar-application-7.9.1.jar StandardOutput=syslog LimitNOFILE=65536 LimitNPROC=8192 TimeoutStartSec=5 Restart=always [Install] WantedBy=multi-user.target 

Iniciar y habilitar sonarqube


 $ sudo systemctl start sonarqube $ sudo systemctl enable sonarqube 

Para verificar si el servicio se está ejecutando, ejecute:


 $ sudo systemctl status sonarqube 

Registro:


 tail -f /opt/sonarqube/logs/sonar.log 



Para verificar la disponibilidad de la base de datos, conéctese a 192.168.0.15 y escriba:


 $ psql -h 192.168.0.16 -p 5432 -U sonar 

Eso es todo Para asegurarse de que todo funciona, vaya al navegador (asegúrese de que la red 192.168.XX sea accesible desde la suya o use enlaces).


Marcaremos 192.168.0.15:9000 y la ventana de autorización le dará la bienvenida.


Datos de usuario de administrador primario estándar de SonarQube:


usuariocontraseña
administradoradministrador

Source: https://habr.com/ru/post/474140/


All Articles