持续集成之代码质量管理———Sonar (2)

发表于:2022-4-01 09:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张九冫    来源:51CTO博客

  六、配置Jenkins开启Sonar
  登录到Jenkins的web界面,需要安装插件,有在线安装及离线安装两种方式,我这里选择离线安装,可以自行进行在线安装的方式。
  1、依次点击:系统管理===>>插件管理===>>高级,然后下拉页面:
  下载我提供的插件,按照以下顺序依次添加,若是在线安装,依次搜索“SonarQube Scanner”、“Gerrit Trigger”、"Sonar Gerrit Plugin"进行安装即可:
  2、依次点击:系统管理===>>系统设置,然后配置如下:
  切记要点保存
  3、依次点击:系统管理===>>全局工具配置,然后单击如下:
  4、进入构建的项目,然后点击进入,如下:
  在终端复制一下代码:
  [root@jenkins /]# cd ~/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/
  [root@jenkins php-sonar-runner-unit-tests]# egrep -v '^#|^$' sonar-project.properties 
  #复制如下代码
  sonar.projectKey=org.sonarqube:php-ut-sq-scanner
  sonar.projectName=PHP :: PHPUnit :: SonarQube Scanner
  sonar.projectVersion=1.0
  sonar.sources=src
  sonar.tests=tests
  sonar.language=php
  sonar.sourceEncoding=UTF-8
  sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
  sonar.php.tests.reportPath=reports/phpunit.xml

  5、然后在图中粘贴复制的代码(为了方便区分测试结果,建议修改“sonar.projectKey”的值):
  6、回到终端,向gitlab提交代码,即可实现自动sonar扫描
  [root@jenkins php-sonar-runner-unit-tests]# pwd
  /root/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests
  [root@jenkins php-sonar-runner-unit-tests]# cp -r * ~/test1/
  #将测试代码复制到本地git库(如果没有本地git库,可以再次克隆一下)
  [root@jenkins php-sonar-runner-unit-tests]# cd ~/test1/           # 进入到本地git库
  [root@jenkins test1]# rm -rf sonar-project.properties              #删除这个文件,不需要使用它来给我们指定要测试的代码了
  #因为我们在刚才的web界面已经将其配置文件写在了web界面。优先使用web界面配置的检测代码。
  #不删除这个文件也行
  #然后提交到远端的gitlab库
  [root@jenkins test1]# git add *
  [root@jenkins test1]# git commit -m "test sonar"
  [root@jenkins test1]# git push origin master

  当提交到远端gitlab库后,即可看到sonar的web界面已经进行了代码扫描,并且显示出了扫描结果,如下:
  7、配置Jenkins邮件报警
  开始配置邮件报警:
  在Jenkins的web界面依次点击:系统管理===>>系统设置,然后在下面输入系统管理员的邮箱地址并保存:
  再次点击:系统管理===>>系统设置
  配置项目,如下:
  在此点击项目>>配置
  至此,邮箱报警就配置完成了,此时,可以在控制台关闭gitlab或者手动构建代码,测试是否可以收到报警邮件。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号