Oi, habrozhiteli!
Neste guia, desejo definir uma configuração passo a passo para implantar uma plataforma para análise e medição contínuas da qualidade do código. Existem muitos artigos semelhantes na rede, mas quero destacar apenas o principal, para que todos os recém-chegados possam lidar com isso pela primeira vez. SonarQube 7.9
com o PostgreSQL 10
.
Você já aprendeu o wiki, certo?
E antes de começarmos
Quero que você decida qual versão implementar, porque a cada atualização cada vez mais plug-ins são pagos, o que, é claro, afetará os custos ou a funcionalidade financeira.
Em geral - siga este link e veja por si mesmo: matriz da versão do plugin .
De acordo com a documentação: é recomendável manter o servidor e o banco de dados em máquinas diferentes . Mas na caixa de areia você também pode treinar em uma.
Se você possui Ubuntu e 2 servidores
Se você decidir seguir o caminho das recomendações e, para não se preocupar em criar duas máquinas virtuais, crie uma - você pode alterar o nome e o ip do segundo servidor com facilidade e simplesmente usando estes comandos:
::: alterar nome do host :::
$ hostnamectl set-hostname sonarapp sudo nano /etc/hostname sudo nano /etc/hosts
::: alterar ip ubuntu :::
sudo nano /etc/netplan/01-eth0.yaml
Lá, encontre as linhas familiares e altere os parâmetros do nome da máquina e do endereço IP.
E o que deveria acontecer :
Servidor de aplicativos Sonar [SonarApp]: 8 núcleos, 16 GB de RAM, 20 GB + 50 GB de espaço em disco
Banco de dados do sonar [SonarDB]: 8 núcleos, 16 GB de RAM, 20 Gb + 50 Gb (/ opt) de espaço em disco
1. Sugiro começar com um banco de dados
Faça o login em nosso bom administrador em 192.168.0.16 (SonarDB). É muito importante que você NÃO execute como root.
Verifique se o PostgreSQL está instalado no sistema. Existem muitas opções, mas tente a mais simples:
$ which psql $ psql -V $ find / -name 'postgres'
veja quais pacotes são baixados no sistema:
$ dpkg -l | grep postgres
Se nada foi encontrado, verifique se o PostgreSQL 10 está nos repositórios:
$ sudo apt-cache search postgresql-10
A documentação oficial de instalação do PostgreSQL: link . Mas se em ordem:
$ 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
O comando dpkg-reconfigure locales abrirá uma caixa de diálogo no Debian para selecionar o local desejado. Escolha en_US.UTF-8
.
Lançamento!
$ sudo systemctl start postgresql $ sudo systemctl status postgresql $ sudo nano /etc/postgresql/10/main/postgresql.conf
Verifique se a instalação foi bem-sucedida:
$ sudo apt-get install -y net-tools $ sudo netstat -antup | grep 5432 $ dpkg --get-selections |grep postgres $ pg_lsclusters
Parabéns! Prossiga. :)
sudo su -l postgres psql
Altere a senha do usuário padrão do PostgreSQL
$ sudo passwd postgres
Mude para o usuário do postgres.
$ su - postgres
Mude para o shell do PostgreSQL.
$ psql
Configuração básica do PostgreSQL
Defina uma senha para o usuário recém-criado para o banco de dados 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;
Saia do shell psql:
'\q'
Migração de banco de dados PostgreSQL
Parar o serviço PostgreSQL
$ service postgresql stop
Mude o diretório de dados.
$ 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
Verificação de alteração
$ sudo -u postgres psql
E também precisa verificar os parâmetros do sistema. Eles podem ser adicionados ao arquivo /etc/sysctl.conf
(ou /etc/sysctl.d/99-sonarqube.conf
) ou inseridos no terminal:
sysctl -w vm.max_map_count=262144 sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096
2. E agora estaremos envolvidos no servidor de aplicativos SonarQube
Faça o login em nosso bom administrador em 192.168.0.15 (SonarApp). Também é importante que NÃO seja raiz.
Essas linhas que começam com o caractere $ são entradas terminais, e o restante é o que editaremos nos arquivos ou o que deve ser recebido na saída (saída de informações)
O SonarQube requer que o JAVA funcione. Tome o OpenJDK
Instale o open-jdk11
$ sudo apt-get install openjdk-11-jdk
alterar java PATH
$ 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 se o JAVA foi adicionado com sucesso ao sistema :
$ java -version
Faça o download do arquivo de instalação do SonarQube.
$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.9.1.zip
Instale o descompacte executando:
Descompacte o arquivo compactado usando o seguinte comando
$ sudo unzip sonarqube-7.9.1.zip -d /opt
Renomeie o diretório
$ sudo mv /opt/sonarqube-7.9.1 /opt/sonarqube
Adicionar usuário e privilégios do sonar
Saiba mais sobre gerenciamento de usuários no Unix .
Crie um usuário chamado sonar e torne-o o proprietário do /opt/sonarqubedirectory
$ sudo adduser sonar $ sudo passwd sonar $ sudo chown -R sonar:sonar /opt/sonarqube
obtenha usuários da lista no sistema:
$ cut -d: -f1 /etc/passwd
Em que grupos está o seu novo usuário:
$ groups sonar
Continuação configure o SonarQube
$ sudo nano /opt/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.web.host=192.168.0.15
Crie um arquivo /etc/systemd/system/sonarqube.service
e /etc/systemd/system/sonarqube.service
o seguinte conteúdo no arquivo
[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 e ativar sonarqube
$ sudo systemctl start sonarqube $ sudo systemctl enable sonarqube
Para verificar se o serviço está sendo executado, execute:
$ sudo systemctl status sonarqube
Log:
tail -f /opt/sonarqube/logs/sonar.log
Para verificar a disponibilidade do banco de dados, conecte-se a 192.168.0.15 e digite:
$ psql -h 192.168.0.16 -p 5432 -U sonar
Isso é tudo. Para garantir que tudo funcione, acesse o navegador (verifique se a rede 192.168.XX está acessível a partir da sua ou use links).
Discaremos 192.168.0.15:9000 e você deverá ser bem-vindo na janela de autorização.
Dados do usuário administrador padrão do SonarQube Standard: