K8S搭建SonarQube并集成到Jenkins
前提:已经搭建好k8s环境
搭建postgres数据库
存储类是使用nfs,下面是yaml内容
安装sonarqube服务
存储类是使用nfs,下面是yaml内容
运行成功后,设置hosts 浏览器输入http://sonarqube.gzeport.com,
开始初始化数据库,这个时间过程比较长,大概几分钟。初始化成功后进入登录界面,
账号:admin 密码:admin
SonarQube汉化
进入SonarQube主页后,发现全部是英文,英文不好或使用不太习惯的,可以将语言设置为中文。
- 主页,依次点击Administration–>Marketplace
-
滑动页面,在Plugins处,搜索
Chinese Pack
插件,然后点击右侧的install -
安装完成后,点击
Restart Server
- 重启成功后,再次访问,登录进入主页面,汉化成功了
Jenkins集成SonarQube进行代码质量扫描
安装插件
管理Jenkins->插件管理,安装SonarQube Scanner
插件
生成SonarQube Token
SonarQube菜单右上角头像- > My Account(我的账号) -> Security(安全) 或者访问 http://sonarqube.gzeport.com/account/security/
生成之后记得复制并保存Token,不然页面刷新或者关闭后就无法查询到Token了 1c409ca4a8d73f2b45ce504c99992f6212b36246
添加Jenkins凭据
菜单:凭据 —> 系统 -> 全局凭据 -> 添加凭据
类型选择:Secret text
,然后Secret中填入之前生成的Token
配置SonarQube Server
菜单:管理Jenkins -> 系统设置
找到SonarQube servers
配置项增加SonarQube Server
配置项说明:
配置项 | 说明 |
---|---|
Name | Sonar服务名,按照自己习惯来即可 |
Server URL | SonarQube Server的主页地址,我这边使用了K8S的无头服务地址sonarqube-svc.devops.svc.cluster.local:9000 (这就是k8s的好处拉) |
Sonar authentication token | Sonar Token,选择已添加的凭据即可 |
配置sonar-scanner-cli镜像
因为使用的jenkins master-slave模式,所以需要配置slave镜像
编写Jenkins-流水线请求Sonar
执行成功后,进行Sonarqube查看效果
参考
https://cloud.tencent.com/developer/article/1578435
https://www.cnblogs.com/zoujiaojiao/p/16910697.html