什么是SonarQube
SonarQube是一个开源的用于管理源代码质量的平台,支持Java,C#,C/C++,PL/SQL,Cobol等等二十几种编程语言
SonarQube优点
- 优秀的图形化界面,基本上通过界面就可以对自己的项目的代码一目了然
- 优秀的问题定位问题,可以检查到其他软件难以检查的问题,例如:可能导致空指针异常的问题、可能导致内存泄漏的问题、可能产生的漏洞等等
怎样部署
-
拉取postgres数据库镜像
docker pull postgres
-
拉取sonarqube镜像
docker pull sonarqube
-
启动postgress
docker run --name postgress -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres
-
启动sonarqube
docker run --name sonarqube --link postgress -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgress:5432/sonar -p 9000:9000 -d sonarqube
-
打开sonqube界面,用浏览器访问http://localhost:9000, 账号:admin 密码:admin
-
第一次登陆会提示创建一个token,如下图所示,记住这个token.
-
安装SonarQube Scanner插件
进入到jenkins插件管理页面,安装SonarQube Scanner插件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WWADmEBD-1615183864738)(/Users/renbin/Library/Application Support/typora-user-images/image-20210308135657442.png)]
- 进入到Jenkins系统设置页面,找到SonarQube servers选项,输入name,Server URL 输入Sonqube的地址,token输入到上文中步骤6中生成的token
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a4Zht4dJ-1615183864740)(/Users/renbin/Library/Application Support/typora-user-images/image-20210308135819441.png)]
-
进入到Jenkins全局工具配置页面,找到SonarQube Scanner选项,勾选自动安装[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y7RG8ufq-1615183864741)(/Users/renbin/Library/Application Support/typora-user-images/image-20210308140403666.png)]
-
至此,Jenkins关于SonarQube的全局配置完毕,剩下的工作就是在具体的打包项目中添加相应的配置了
已安卓打包项目为例,说明具体项目中怎样配置SonarQube
- 在具体的某一个安卓打包项目中,进入到“构建”选项,添加“Execute SonarQube Scanner[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9TMgd0l-1615183864744)(/Users/renbin/Library/Application Support/typora-user-images/image-20210308140758538.png)]
- Execute SonarQube Scanner选项的Analysis properties中输入响应的配置选项,例如[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yyUGmT22-1615183864747)(/Users/renbin/Library/Application Support/typora-user-images/image-20210308140912335.png)]
- 这样就可以每次打包前,执行代码检查步骤了,SonarQube页面展示如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J3nmjl0m-1615183864748)(/Users/renbin/Library/Application Support/typora-user-images/image-20210308141034198.png)]