SonarQube学习笔记一:Jenkins+Sonar针对.NET项目源代码检测实践

一、前言

本文主要内容是搭建Jenkins 持续集成环境,配置.NET web项目的CI(自动化部署没有做)并通过sonarqube插件实现源代码质量检测,网上针对.NET项目的该类实践介绍不多。本文内容根据网络搜索和我的实战操作记录整理而成,踩坑无数,最后成功,希望对大家有用。

二、系统环境

操作系统:Windows10
Jenkins:2.394
sonarqube:9.9
测试项目为:.Net Core 桌面端项目,不需要IIS

三、Jenkins安装

参考我的另一篇文章,这里不再赘述,Windows环境安装更简单,也可以参考下文。
Centos+Gitlab+Jenkins 针对.NET项目持续集成环境搭建和自动化部署

这里注意一点,安装完Jenkins后建议修改工作空间workspace,默认的workspace地址在一个旮旯角落的位置地址看着很不舒服,趁工作没有开始,第一时间换掉(切记一定要先完成首次登录),换掉后会重置用户信息,也就是再来一次“首次登录”,一定要完成,不要搞到一半把页面关了,不要问为什么?问我也不会告诉你我就是因为这个重新又装了一遍Jenkins

四、sonarqube安装

4.1 下载地址:

https://www.sonarsource.com/products/sonarqube/downloads/

4.2 解压缩zip方式安装

https://docs.sonarqube.org/latest/setup-and-upgrade/install-the-server/#installing-sonarqube-from-the-zip-file

4.3 安装数据库

数据库我安装的是PostgreSQL
在数据库里建一个数据库实例命名为sonarqube

4.4 配置文件

配置文件位置
C:\DevelopsRepos\sonarqube-9.9.0.65466\conf\sonar.properties

配置文件要设置的地方(端口号自己按需定义)

# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
#sonar.jdbc.username=
#sonar.jdbc.password=
sonar.jdbc.username=postgres
sonar.jdbc.password=111111

#----- PostgreSQL 11 or greater
# By default the schema named "public" is used. It can be overridden with the parameter "currentSchema".
#sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube?currentSchema=my_schema

# Binding IP address. For servers with more than one IP address, this property specifies which
# address will be used for listening on the specified ports.
# By default, ports will be used on all IP addresses associated with the server.
#sonar.web.host=0.0.0.0
#sonar.web.host=127.0.0.1
sonar.web.port=8088
#sonar.web.context=/sonarqube

# Elasticsearch port for incoming HTTP connections. Default is 9001. Use 0 to get a free port.
# As a security precaution, should be blocked by a firewall and not exposed to the Internet.
#sonar.search.port=9001
sonar.search.port=8081

4.5 启动

进入sonarqube程序主目录,C:\DevelopsRepos\sonarqube-9.9.0.65466\bin\windows-x86-64,双击StartSonar.bat文件,启动StartSonar。

输入地址检查sonarqube是否正常运行
在这里插入图片描述

五、Jenkins的sonarqube插件安装

5.1 安装官方说明

https://docs.sonarqube.org/latest/analyzing-source-code/scanners/jenkins-extension-sonarqube/

5.2 插件下载

在Jenkins Plugins管理中下载SonarQube Scanner for Jenkins插件
在这里插入图片描述

5.3 Scanner安装

5.3.1 安装组件SonarScanner for .NET

https://docs.sonarqube.org/latest/analyzing-source-code/scanners/sonarscanner-for-dotnet/
下载完后解压到目录
在这里插入图片描述

5.3.2 修改配置文件

配置文件的路径如下图
在这里插入图片描述
修改为:

#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://localhost:8088

sonar.scm.provider=git

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

如果不设置sonar.scm.provider=git可能引发报错:
SCM provider autodetection failed. Both svn and git claim to support this project. Please use sonar.scm.provider to define SCM of your project.

六、构建项目的配置

6.1 Configure System

6.1.1Jenkins Location设置

配置本地地址和端口号
在这里插入图片描述

6.1.2 SonarQube servers设置

SonarQube servers属性设置,sonar的token点击添加按钮,类型选Secret Text
在这里插入图片描述

sonar的令牌(tonken)生成
在这里插入图片描述

6.2 Global Tool Configuration

6.2.1 JDK配置

SonarQube适配的JDK是哪个版本请在官网上查阅,根据下载的版本找对应版本的JDK
在这里插入图片描述

6.2.2 Git配置

Git是必须要安装的
在这里插入图片描述

6.2.3 MSBuild配置

在这里插入图片描述

6.2.4 SonarScanner for MSBuild配置

在这里插入图片描述

6.2.5 SonarQube Scanner配置

在这里插入图片描述

七、构建项目的配置

7.1 源码管理

记得要添加凭据
在这里插入图片描述

7.2 Build Steps

编排流水线步骤

7.2.1 步骤一 SonarScanner for MSBuild - Begin Analysis

Project key和Project name可以自己定义
在这里插入图片描述

7.2.2 步骤二 Build a Visual Studio project or solution using MSBuild

在这里插入图片描述

Command Line Arguments参数语法

/t:Rebuild
/p:Configuration=Release
/p:MonoSymbolArchive=False
/p:VisualStudioVersion=17.0
/p:OutDir=C:\ProgramData\Jenkins\.jenkins\workspace\BuildForPlugIn

7.2.3 步骤三 SonarScanner for MSBuild - End Analysis

在这里插入图片描述

八、执行构建项目

构建成功后,可以在sonarqube里看到检查结果
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangcns

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值