本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录如下:
SonarQube系列二、分析dotnet core/C#代码
SonarQube系列三、Jenkins集成SonarQube(dotnetcore篇)
【实现功能】这篇文章将要介绍的主要内容如下:
将上一篇文章中的sonarqube命令整合为shell脚本
将 shell 脚本集成到jenkins中
【整合sonarqube命令为shell脚本】因为使用的是 linux 服务器,因此,我们将上一篇文章中关于 sonarqube 的相关命令整合到 shell 脚本中,以便方便地调用,并且很容易集成到CI/CD工具中。
shell 脚本另一个优势就是不需要在 jenkins 上安装过多的插件,而改用脚本调用,保持jenkins的单一整洁,在机器迁移的情况下会异常方便快捷。
1.整合 dotnet test 命令首先将 dotnet test 命令整合成一个脚本,脚本如下:
#是否执行当前脚本 execute=$1 #test项目全路径 testDir=$2 if [ ${execute} == false ];then echo "7tiny: There is nothing to execute!" exit 0 fi echo "7tiny:begin test..." #使用这个方法需要在test项目里安装nuget包:dotnet add package coverlet.msbuild dotnet test ${testDir} --logger:"trx;LogFileName=test.trx" /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:CoverletOutput='./TestResults/' if [ $? != 0 ];then exit 1 fi echo "7tiny:test finished!" exit 0