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安装包
#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访问
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地址
1111

被折叠的 条评论
为什么被折叠?



