sonarqube代码检测工具
#支持常用语言的扫描
https://www.cnblogs.com/qijiajun/p/16504324.html
#增加内核:在运行时增加当前会话的 vm.max_map_count 内核、文件描述符和 ulimit。
sudo sysctl -w vm.max_map_count=262144
sudo sysctl -w fs.file-max=65536
ulimit -n 65536
ulimit -u 4096
1,sonar安装
安装jdk postgresql数据库
apt-get install openjdk-11-jdk -y
apt-get install postgresql -y
2,postgresql添加用户和库
su -i -u postgres
psql
\password postgres
通过键入以下内容创建新用户:
createuser sonar
切换到 PostgreSQL shell。
psql
为 SonarQube 数据库新创建的用户设置密码。
ALTER USER sonar WITH ENCRYPTED password 'sonar';
通过运行以下命令为 PostgreSQL 数据库创建新数据库:
CREATE DATABASE sonarqube OWNER sonar;
授予sonar用户对sonar数据库的所有权限。
grant all privileges on DATABASE sonarqube to sonar;
退出 psql 外壳:
\q
通过运行 exit 命令切换回 sudo 用户。
exit
3,修改sonar配置文件
root@sonar:/server/tools/sonarqube-8.9.10.61524/conf# pwd
/server/tools/sonarqube-8.9.10.61524/conf
root@sonar:/server/tools/sonarqube-8.9.10.61524/conf# grep -Ev "^$|#" sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube
###############
编辑sonar脚本文件并设置RUN_AS_USER
sudo vim /opt/sonarqube/bin/linux-x86-64/sonar.sh
RUN_AS_USER=sonar
4,启动sonar
su - sonar
sonar@sonar:/server/tools/sonarqube-8.9.10.61524/bin# pwd
/server/tools/sonarqube-8.9.10.61524/bin
sonar@sonar:/server/tools/sonarqube-8.9.10.61524/bin# ls
jsw-license/ linux-x86-64/ macosx-universal-64/ windows-x86-64/
sonar@sonar:/server/tools/sonarqube-8.9.10.61524/bin# ./linux-x86-64/sonar.sh start
检查sonar运行状态
要检查sonaqube是否正在运行,请输入以下命令,
./sonar.sh status
sonar日志
要检查sonar声日志,请导航到/opt/sonarqube/logs/sonar.log目录
tail -f /opt/sonarqube/logs/sonar.log
输出:
INFO app[][o.s.a.ProcessLauncherImpl] Launch process[[key='ce', ipcIndex=3, logFilenamePrefix=ce]] from [/opt/sonarqube]: /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp --add-opens=java.base/java.util=ALL-UNNAMED -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/common/*:/opt/sonarqube/lib/jdbc/h2/h2-1.3.176.jar org.sonar.ce.app.CeServer /opt/sonarqube/temp/sq-process15059956114837198848properties
INFO app[][o.s.a.SchedulerImpl] Process[ce] is up
INFO app[][o.s.a.SchedulerImpl] SonarQube is up
使用关于输出,您将看到sonaqube已成功启动并运行。
访问端口:9000
#安装中文插件
#jenkins+sonar扫描项目配置
https://www.cnblogs.com/cjsblog/p/10740840.html
#sonar-scanner客户端下载
https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner/
#扫描命令
/opt/sonar-scanner/bin/sonar-scanner