SonarQube代码审查

Linux安装SonarQube

7.9之后不在支持mysql

  1. 安装mysql数据库,创建sonar数据库

  2. 解压sonarqube-9.0.0.45539.zip

    安装unzip
    yum install unzip

    解压
    unzip sonarqube-9.0.0.45539.zip

    重命名
    mv /sonarqube-9.0.0.45539 /sonar

  3. 修改权限(sonar以root启动会报错)

    创建sonar用户
    useradd sonar

    更改sonar目录及文件权限
    chown -R sonar ./sonar

  4. 修改sonar配置文件

    vi /sonar/conf/sonar.properties

    sonar.jdbc.username=root
    sonar.jdbc.password=root
    sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
    
    
  5. 启动

    su sonar /sonar/bin/linux-x86-64/sonnar.sh start

docker安装

docker run --name sq  -e SONARQUBE_JDBC_USERNAME=postgres -e SONARQUBE_JDBC_PASSWORD=123456 -e SONARQUBE_JDBC_URL=jdbc:postgresql://localhost:5432/sonar -p 9000:9000 -v F:/docker/sonarqube/data:/opt/sonarqube/data -v F:/docker/sonarqube/extensions:/opt/sonarqube/extensions -v F:/docler/sonarqube/logs:/opt/sonarqube/logs -d sonarqube:9.0-community

启动可能报错:

ERROR: bootstrap checks failed
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

liunx

vi /etc/sysctl.conf 
添加下面配置:
vm.max_map_count=262144

windows

打开powershell
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144

postgresql连接不上
将localhost换成实际ip地址

汉化插件Chinese Pack
在这里插入图片描述

和jenkins整合

SonarQube生成Tokens
在这里插入图片描述

jenkins安装SonarQube Scanner插件
在这里插入图片描述
增加配置
在这里插入图片描述
创建凭证

在这里插入图片描述
创建环境配置
在这里插入图片描述

非流水线风格

在Build添加构建步骤执行sonarqube
在这里插入图片描述
在这里插入图片描述
Path to project properties:指定一个项目中的sonar-project.properties 文件位置
Analysis properties:直接填写sonar-project.properties中的内容,优先度高

# 对Sonarqube来说的唯一标识,一般和项目名称相同
sonar.projectKey=my_project
# 在Sonarqube展示的名称
sonar.projectName=my_project
sonar.projectVersion=1.0 
#指定语言
sonar.language=java
# 指定编码格式
sonar.sourceEncoding=UTF-8
sonar.java.binaries=$WORKSPACE/webapps/WEB-INF/classes      
# 指定代码扫描的路径, 用 . 可以扫描全部内容
sonar.sources=/src/main
#在上边指定的扫描路径下排除扫描的内容多个用,隔开
sonar.exclusions=**/test/**
流水线风格
stage('代码扫描'){
	steps {
		script {
			//tool 名称是 configureTools配置的SonarQube Scanner名称
			scannerHome = tool 'SonarQube-Scanner'
		}
		//环境是configure配置的SonarQube servers名称
		withSonarQubeEnv('SonarQube') {
			sh "${scannerHome}/bin/sonar-scanner " +
			"-Dsonar.projectKey=test001 " +
			"-Dsonar.projectName=test001 " +
			"-Dsonar.sourceEncoding=UTF-8 " +
			"-Dsonar.language=java " +
			"-Dsonar.projectVersion=1.0 " +
			"-Dsonar.java.binaries=. " +
			"-Dsonar.sources=."
		}
	}
}

SonarQube 指标定义

API

http://localhost:9000/web_api/api/projects

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值