Bitbucket +Jenkins+SonarQube设置

  1. 流程图

a)     

为了提高代码质量 搭建了这一套扫描工具

 

一、          Bitbucket 设置

  1. 项目管理员在仓库设置->Webhooks页面,点击[创建webhook]
    1. 【名称】自定义
    2. 【URL】http://<您的jenkins访问路径>/generic-webhook-trigger/invoke?token=token&name=xxx

1)      token由jenkins生成 见下方

2)      name用于标识是哪个项目,可以自定义别的参数

二、          Jenkins 设置

  1. 插件安装
    1. SonarQube Scanner for Jenkins
    2. Generic Webhook Trigger Plugin
    3. 系统设置
      1. SonarQube servers设置

1)     

2)      在URL 填写服务器地址,【Server authentication token】填写 在SonarQube servers 生成的token

  1. 插件设置 Global Tool Configuration
    1. SonarQube Scanner安装过程比较麻烦

1)      尝试从Maven安装 失败

2)      尝试从https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.4.0.2170-linux.zip 下载安装失败,上服务器发现已经下载解压,只是路径错误

3)      把解压路径直接填写到输入框成功

  1. 项目设置
    1. 构建触发器

1)     

2)     

Token生成看下方

3)     

匹配对应数据才执行$name就是上面的name,还可以匹配hook event 里面的数据

  1. 构建

1)     

2)      # projectKey 用sonar设置好的项目id
sonar.projectKey=ppms
# --- optional properties ---
# defaults to project key
#sonar.projectName=ppms
# defaults to 'not provided'
#sonar.projectVersion=1.0
 sonar.language=c#
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=$WORKSPACE

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

 

 

  1. 生成token
    1. 首页->用户列表>点击用户名->点击设置  API Token 可以生成Token

三、          SonarQube设置

  1. 生成token
    1. 在用户管理 安全页面生成token
    2. 创建项目

四、          参考

  1. https://www.msy.plus/2021/09/04/jenkins-webhook/

 

五、          错误处理

  1. Unsupported major.minor version 52.0
    1. 是jdk版本不对  根据提示在jenkins安装对应的版本,目前安装了jdk11,https://www.cnblogs.com/xiaoyiStudent/p/12250305.html
    2. jenkind Permission denied

1)      访问路径没有权限 全部加上权限,包括 sonar-scanner 所在路径 和jenkins项目所在路径