Jenkins自動化之路-Centos7 安裝SonarQube8

SonarQube是代碼檢查工具,採用B/S架構,幫助檢查代碼缺陷,改善代碼質量,提高開發速度,通過插件形式,可以支持Java、C、C++、JavaScripe等等二十幾種編程語言的代碼質量管理與檢測,能對接jenkins等自動化工具。

SonarQube7.9後不支持mysql,因此採用postgresql

1.安裝Java

1.1安裝jdk11

#yum install -y java-11-openjdk java-11-openjdk-devel

 

1.2配置環境

#vim /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.5.10-0.el7_7.x86_64/

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

 

2.安裝postgresql

#yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y

#yum install postgresql10-contrib postgresql10-server -y

#/usr/pgsql-10/bin/postgresql-10-setup initdb

#systemctl start postgresql-10

#systemctl enable postgresql-10.service

 

3.登錄postgresql並設置密碼

# su - postgres

-bash-4.2$ psql

postgres=# create database sonar;

postgres=# create user sonar;

postgres=# alter user sonar with password 'sonar';

postgres=# alter role sonar createdb;

postgres=#alter role sonar superuser;

postgres=#alter role sonar createrole;

postgres=# alter database sonar owner to sonar;

postgres=# \q

-bash-4.2$ exit

 

4.安裝SonarQube

4.1下載安裝包

#wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.2.0.32929.zip

#unzip sonarqube-8.2.0.32929.zip

#mv sonarqube-8.2.0.32929 /usr/local/sonarqube-8.2

 

4.2配置SonarQube

#vi /usr/local/sonarqube-8.2/conf/sonar.properties

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.jdbc.url=jdbc:postgresql://localhost/sonar

sonar.jdbc.maxActive=60

sonar.jdbc.maxIdle=5

sonar.jdbc.minIdle=2

sonar.jdbc.maxWait=5000

sonar.jdbc.minEvictableIdleTimeMillis=600000

sonar.jdbc.timeBetweenEvictionRunsMillis=30000

sonar.jdbc.removeAbandoned=true

sonar.jdbc.removeAbandonedTimeout=60

 

5.安裝sonar-scanner

5.1下載sonar-scanner安裝包

#wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip

#unzip sonar-scanner-cli-4.2.0.1873-linux.zip

#mv sonar-scanner-4.2.0.1873-linux/ /usr/local/sonar-scanner-4.2

 

5.2配置

#vi /usr/local/sonar-scanner-4.2/conf/sonar-scanner.properties

sonar.host.url=http://localhost:9000

 

6. 配置sonar賬號

6.1賬號添加

#adduser sonar -s /sbin/nologin

#chown -R sonar:sonar /usr/local/sonar-scanner-4.2

#chown -R sonar:sonar /usr/local/sonarqube-8.2

 

6.2配置環境變量

#vi /etc/profile

export SONAR_HOME=/usr/local/sonarqube-8.2

export SONAR_RUNNER_HOME=/usr/local/sonar-scanner-4.2

export PATH=$PATH:$SONAR_RUNNER_HOME/bin

export PATH=$PATH:$SONAR_HOME/bin

#source /etc/profile

 

7.啓動服務

6.1關閉防火牆

#systemctl disable firewalld

 

7.2設置服務

#vi /etc/systemd/system/sonar.service

[Unit]

Description=SonarQube Server

After=syslog.target network.target

[Service]

Type=forking

ExecStart=/usr/local/sonarqube-8.2/bin/linux-x86-64/sonar.sh start

ExecStop= /usr/local/sonarqube-8.2/bin/linux-x86-64/sonar.sh stop

LimitNOFILE=65536

LimitNPROC=4096

User=sonar

Group=sonar

Restart=on-failure

[Install]

WantedBy=multi-user.target

 

#systemctl restart sonar.service

#systemctl enable sonar.service

 

7.3web訪問

http://IP:9000

username:admin

password: admin

 

8.關於啓動報錯

app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143

這個報錯一般是數據庫連接問題,請查看/usr/local/sonarqube-8.2/logs/web.log

 

app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 1

這個報錯一般是es不能使用root啓動原因導致

 

Caused by: org.postgresql.util.PSQLException: ERROR: no schema has been selected to create in

是因爲沒權限,要注意授權

 

java.lang.IllegalStateException: Fail to connect to database

無法連接數據庫,注意IP地址

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章