Jenkins + SonarQube & SonarQube Scanner

Jenkins SonarQube SonarQube Scanner

操作步骤

  • 第一步:安装插件,两种方式
  1. Jenkins系统管理管理插件可选插件🔍SonarQube Plugin,如下图所示👇

    Install SonarQube Plugin
  2. 直接下载 SonarQube Plugin,然后进入 Jenkins系统管理管理插件高级上传插件,点击选择文件找到之前下载的 sonar.hpi,如下图所示👇

    Install SonarQube Plugin

    然后点击上传即可!!!
    Tip:第一种安装插件的方式有可能会失败,那么就选择第二种安装方式。还有一种情况,当 Jenkins 版本与 SonarQube Plugin 版本不匹配时也会导致安装插件失败。所以建议将 Jenkins 升级到最新版本

  • 第二步:配置 SonarQube,进入 Jenkins系统管理系统设置SonarQube servers

    Add SonarQube

    点击 Add SonarQube 会看到如下图所示界面👇
    参数配置界面

参数说明:
    required:
           Name:SonarQube
    optional:
           Server URL:http://IP:9000/
           Server version:根据安装的 SonarQube 版本自行选择
           Server authentication token:这个参数需要在 SonarQube 平台上单独生成,下面进行说明
           SonarQube account login:登录 SonarQube 用户名
           SonarQube account password:登录 SonarQube 密码
           Database URL:这个参数的值,其实就是 `SonarQube & SonarQube Scanner` 这篇文章,修改 `sonar.properties` 配置中 
`sonar.jdbc.url` 的值
           Database login:登录数据库用户名
           Database password:登录数据库密码
           (剩下的都是可选参数,就不一一列举了,上面说的这些都是最常用的,下面对 Server authentication token 这个参数说明一下)
 `Server authentication token` 生成
 1. 登录 `SonarQube` → `配置` → `权限` → `选择用户` → `管理员` → 点击 admin 用户 `Tokens` 那一列,如图👇

       ![只要是管理员用户就可以,没必要一定是admin用户](http://upload-images.jianshu.io/upload_images/4979007-c9f00ad576f5894b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  会看到如下界面👇
      ![Generate Token](http://upload-images.jianshu.io/upload_images/4979007-1f2e18c9da7fee26.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 2. 在`输入框`中输入任意字符(英文字母、中文、特殊字符)都可以,然后点击 `Generate` 按钮,会看到如图所示👇
    ![Token](http://upload-images.jianshu.io/upload_images/4979007-ee7a603dcfcf86eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 3. 将所得的 `Token` 填入 `Jenkins` 的 `SonarQube servers` 的配置项中,如图👇
    ![SonarQube servers](http://upload-images.jianshu.io/upload_images/4979007-37105613d8a968a6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 `Tip:理论上来讲,只要配置上图中的 Name 和 Server URL 这两个参数就OK了`
  • 第三步:配置 sonar-scanner,进入 Jenkins系统管理Global Tool Configuration → 找到 SonarQube Scanner,如图👇


    点击 SonarQube Scanner 安装...


    点击新增 SonarQube Scanner


    如果不想用自动安装这种方式,安装的话,那就取消勾选,将自行下载的 sonar-scanner 上传至服务器,然后将存放的路径写入
    SONAR_RUNNER_HOME 的输入框,如果所示👇

  • 第四步:在 JOB 中配置 Execute SonarQube Scanner,进入你想要增加 SonarQube Scanner 静态代码检测的项目中,点击配置构建 → 点击增加构建步骤 → 选择 Execute SonarQube Scanner,如图👇

Tip:
     如果是在 Maven 项目中,想要添加 `Execute SonarQube Scanner` 
 的话,则选择
    Pre Steps → Add pre-build step → Execute SonarQube Scanner
                                 or
    Post Steps → Add post-build step → Execute SonarQube Scanner
Select Execute SonarQube Scanner

Execute SonarQube Scanner Plugin

选择 JDK 并且将 SonarQube & SonarQube Scanner 这篇文章中的 sonar-project.properties 的参数填入 Analysis properties 中,如图👇

Configuration Scanner

然后点击保存,回到 JOB 页面,点击立即构建测试一下,如果成功的话会看到 SonarQube 的入口,如图👇

Success

点击图中的 SonarQube,跳转至 SonarQube 平台对应的项目中去,如图👇

SonarQube

至此 Jacoco + Jenkins + SonarQube & SonarQube Scanner环境如何搭建及两者之间如何关联的描述已经结束了。欢迎各位看官,及时纠错,如有疑问,请在下方评论,谢谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容