jenkins集成SonarQube做代码的质量检查-freestyle

1:SonarQube介绍

1:SonarQube可以结合git做提交即检测也可以结合jenkins做拉取代码检测
2:SonarQube是基于java开发的
3:SonarQube依赖MySQl
4:SonarQube的小型示例需要4GB以上的内存

2:SonarQube服务端安装

  • 1:安装MySQl
	安装好之后
	mysql -uroot -p123456789 -e "CREATE DATABASE sonar DEFAULT CHARACTER SET utf8;"
	mysql -uroot -p123456789 -e "show databases;"
	set global max_allowed_packet = 100*1024*1024;
  • 2:安装sonarqube
	wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.2.zip 
	unzip sonarqube-7.2.zip /usr/local/
	
	//建立软连接
	ln -s /usr/local/sonarqube-7.2/ /usr/local/sonarqube
	//添加sonar用户
	useradd sonar
	chown -R sonar.sonar /usr/local/sonarqube-7.2/
	chown -R sonar.sonar /usr/local/sonarqube
	
	//修改配置文件 把#号放开即可
	vim /usr/local/sonarqube/conf/sonar.properties

	sonar.jdbc.username = root
	sonar.jdbc.password = 123456789
	sonar.jdbc.url = "xxx"

	//启动 注意不能用root用户启动
	su - sonar -c "/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start"

	//访问
	http://ip:端口
  • 3 :安装好的sonarQube如下
    在这里插入图片描述

  • 4:登录的一些设置和token的生成

1 默认账户密码为:admin、admin,这里可以设置token方便代码脚本通过token直接来访问调用
在这里插入图片描述

2:如下 生成token
在这里插入图片描述在这里插入图片描述

3:选择需要扫描的语言和系统环境,生成运行脚本
在这里插入图片描述

4:安装常用的sonarQube插件(sonarQube默认只安装了C java python php js,其中html css go等需要自己手动安装)
在这里插入图片描述

5:开启客户端扫描代码的token验证
在这里插入图片描述
综上 环境已经基本安装ok,下面我们开始实际的操作吧!

3:客户端sonar-scanner的安装

//另外一台客户端linux上安装sonar-scanner,安装成功后就可以在这台机器上链接上sonar服务端进行扫描了
//历史版本:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/
//根据客户端系统版本选择
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.0.0.1744-linux.zip

//解压
unzip sonar-scanner-cli-4.0.0.1744-linux.zip

//从命名,方便输入路径
mv sonar-scanner-cli-4.0.0.1744-linux sonar-scanner

//方法一:
	//修改sonar-scanner的配置文件
	cd ./sonar-scanner/conf
	vim sonar-scanner.properties 

	添加 sonar.login=3f4651c3ec3e018f7c9b906eb0cf33b8bfed7012
	修改 sonar.host.url和sonar.sourceEncoding

//方法二:
	//直接运行脚本 带Dsonar.host.url和Dsonar.login参数

3:sonarQube执行代码扫描

  • 1:html
//sonar-scanner的全路径
/application/sonar-scanner/bin/sonar-scanner \
  -Dsonar.projectKey=html \
  -Dsonar.sources=.

如下 代表通过,可以上线发布
在这里插入图片描述

  • 2:java
//需要扫描的项目的根路径下执行,首次执行会下载很多maven的插件
mvn sonar:sonar \
  -Dsonar.host.url=http://119.3.38.4:3389 \
  -Dsonar.login=3f4651c3ec3e018f7c9b906eb0cf33b8bfed7012

4:Jenkins与sonarQube执行代码扫描

4.1:环境配置

1:首先需要安装插件:SonarQube Scanner

2:配置sonarQube server(管理Jenkins–>Configure System)
在这里插入图片描述
在这里插入图片描述

3:配置sonarQube scanner( 管理Jenkins–>Global Tool Configuration)

在这里插入图片描述

4.2:freestyle执行sonarQube扫描非maven的项目

  • 1:如下 构建添加如下配置
sonar.projectname=${JOB_NAME}  //扫描项目名称
sonar.projectKey=html
sonar.sources=.

在这里插入图片描述

4.3:freestyle执行sonarQube扫描maven的项目

1:方法一:

  sonar.projectname=${JOB_NAME}
  sonar.projectKey=html
  sonar.sources=.
  sonar.java.binaries=target/sonar

在这里插入图片描述

2:方法二:

clean
verify
sonar:sonar
-Dsonar.host.url=http://ip:port
-Dsonar.login=7a1d78b24561fa04fbf24d8bd511ac87dfb36
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值