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
Base de datos de sonda [SonarDB]: 8 núcleos, 16 GB de RAM, 20 Gb + 50 Gb (/ opt) de espacio en disco
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
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
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
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
Cambiar directorio de datos.
$ psql
$ 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
Cambio de cheque
$ sudo -u postgres psql
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 el archivo de archivos de instalación de SonarQube.
$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
Instale descomprimir ejecutando:
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
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: