.net 集成 gitee jenkins sonarQube实现提交代码自动审查

81 阅读1分钟

搭建sonarQube服务并配置账号

服务怎么跑起来参考其他文档 简单一点直接拉docker镜像

1.创建项目

因为是用的gitee只能是手工创建,如果用的其他代码仓库,自行查阅 按流程一步步往下走 在这里插入图片描述 这里的项目名命名为 SName1 后面会用到 在这里插入图片描述 按需选择 在这里插入图片描述

2.创建令牌

创建一个新令牌 后续使用 在这里插入图片描述

搭建jenkins服务 并配置账号

服务怎么跑起来参考其他文档 简单一点直接拉docker镜像 在这里插入图片描述

1.安装必要的插件

  1. Gitee Plugin
  2. SonarQube Scanner for Jenkins
  3. MSBuild Plugin

核心是上面三个其他按需 在这里插入图片描述

2.全局工具配置

设置sonarqube .net环境 JName1 后面会用到 在这里插入图片描述

3.System 系统配置

SonarQube servers

JName2 后面脚本会用到 在这里插入图片描述

在这里插入图片描述

4.Gitee 配置

在这里插入图片描述

到这里基本的配置结束 保存后 开始创建我们的工作流


5.新建任务

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

保存任务 jenkins 到这里就结束了


配置Gitee WebHook

URL:https://{服务器地址}/gitee-project/{工作流名称}

如:devops-jenkins.test.com/gitee-proje…

在这里插入图片描述 按需配置事件 添加保存就可以了

项目中Jenkinsfile文件脚本

和这里的文件路径一直即可 在这里插入图片描述

根目录创建Jenkinsfile文件

node {
  stage('SCM') {
    checkout scm
  }
  
  stage('Clean Previous Build') {
      sh 'dotnet clean'
  }
  
  stage('Restore .NET Environment') {
      sh 'dotnet restore'
  }
  
  stage('SonarQube Analysis') {
    def scannerHome = tool 'JName1'
    withSonarQubeEnv("JName2") {
      sh "dotnet ${scannerHome}/SonarScanner.MSBuild.dll begin /k:\"SName1 \""
      sh "dotnet build"
      sh "dotnet ${scannerHome}/SonarScanner.MSBuild.dll end"
    }
  }
}


注意安装的SonarScanner for MSBuild 版本 估计是更了SonarQube 旧版本前几次运行死活跑不起来

成功运行截图 在这里插入图片描述 在这里插入图片描述