anúncios

segunda-feira, 14 de setembro de 2015

Instalando e Configurando o SonarQube no Debian

O que é SonarQube ?

SonarQube é um software open-source que se propõe a ser a central de qualidade do seu código-fonte, lhe possibilitando o controle sobre um grande número de métricas de software, e ainda apontando uma série de possíveis bugs.

Depois de conhecer o SonarQube e pra que serve, podemos seguir os procedimentos de instalação e configuração do SonarQube em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do SonarQube é 5.1.2 até a data de publicação deste post.

Pré-requisitos: JDK, MySQL ou PostgreSQL.
Nesse post, será utilizado o Java 1.8, e MySQL

Download JDK
x86: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-i586.tar.gz"
x64: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz"

Download SonarQube
wget -c "https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.1.2.zip"

Instalação do MySQL
#apt-get update
#apt-get install mysql-server libmysqlclient15-dev


Configurando JDK
#apt-get purge openjdk-7-jre gcj-4.7-base gcj-4.7-jre openjdk-6-jre-headless #apt-get remove --purge openjdk-*

#mkdir /opt/java
#tar -xzvf jdk-8u60-linux-i586.tar.gz -C /opt/java


Criando link simbólico jdk8
#ln -s /opt/java/jdk1.8.0_6/ jdk8

Adicionar variável de ambiente $JAVA_HOME no PATH do sistema.
#vim /etc/profile
export JAVA_HOME="/opt/java/jdk8"
export CLASSPATH="$JAVA_HOME/lib":$CLASSPATH
export PATH="$JAVA_HOME/bin":$PATH
export MANPATH="$JAVA_HOME/man":$MANPATH

ESC +:x (para salvar e sair do editor Vim).
O mesmo conteúdo da variável de ambiente $JAVA_HOME no arquivo /etc/environment>
#source /etc/profile
#source /etc/environment

Criando o banco de dados Sonarqube no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database sonar character set utf8;

Criar o usuário sonar para o banco sonar
mysql> GRANT ALL PRIVILEGES ON *.* TO sonar@localhost IDENTIFIED BY 'senha_sonar' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

Configurando SonarQube
#unzip sonarqube-5.1.2.zip -d /opt
#cd /opt/sonarqube-5.1.2
#vim conf/sonar.properties
Por fim o username/password do banco de dados utilizado.
linha 18: sonar.jdbc.username: sonar
linha 19: sonar.jdbc.password: senha_sonarqube

Descomentar a linha referente ao banco de dados que será utilizado, nesse caso é o MySQL.
linha 33: sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
Definir o host/context
linha 99: sonar.web.host: Hostaname OU IP
linha 103: sonar.web.context: /sonar

Descomentar a linha 106 onde define a porta utilizada no Sonar.
linha 106: sonar.web.port=9000
ESC +:x (para salvar e sair do editor Vim).

Ajustar script de inicialização
Acesse de acordo com arquitetura do servidor Linux
x86: #vim /opt/sonarqube-5.1.2/bin/linux-x86-32/sonar.sh
x64: #vim /opt/sonarqube-5.1.2/bin/linux-x86-64/sonar.sh
Adicione as linhas abaixo, substituindo a arquitetura de acordo com servidor Linux.
SONAR_HOME=/opt/sonarqube-5.1.2
PLATAFORMA=linux-x86-32

E editar as linhas 28 e 29.
WRAPPER_CMD="${SONAR_HOME}/bin/${PLATAFORMA}/wrapper"
WRAPPER_CONF="${SONAR_HOME}/conf/wrapper.conf"

ESC +:x (para salvar e sair do editor Vim).

Startando o SonarQube
Utilize de acordo com a arquitetura do seu servidor Linux
x86: #chmod +x /opt/sonarqube-5.1.2/bin/linux-x86-32/sonar.sh
#/opt/sonarqube-5.1.2/bin/linux-x86-32/sonar.sh start
x64: #chmod +x /opt/sonarqube-5.1.2/bin/linux-x86-64/sonar.sh
#/opt/sonarqube-5.1.2/bin/linux-x86-64/sonar.sh start

Acesse no browser: http://IPSERVIDOR:9000/sonar
Feito!