二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Nexus系列文章

  • Jenkins系列文章

    • Jenkins入门系列笔记汇总整理
    • 前言与介绍
    • Jenkins初始部署与简单配置
    • Jenkins各配置选项介绍
    • Jenkins中一个项目的构建
    • Jenkins配置项目构建的钉钉通知
    • Jenkins忘记管理员密码怎么办
    • Jenkins与gitlab的交互探微
    • Jenkins根目录详解
    • Jenkins插件之显示构建时间
    • Jenkins插件之批量修改配置
    • Jenkins配置简单构建邮件推送
    • Jenkins复杂邮件推送配置详解
    • Jenkins配置复杂构建邮件推送
    • Jenkins构建安卓项目之前的一些唠叨
    • Jenkins构建安卓项目配置
    • Jenkins与Gitlab分支的交互
    • Jenkins构建nodejs项目
    • 使用docker部署Jenkins及初始配置
    • 配置gitlab提交代码Jenkins自动构建
    • Jenkins回滚方案探微
    • Jenkins角色控制(小黄锁)探微
    • Jenkins构建的应用配置问题解决探微
    • Jenkins构建中tag的应用
    • Jenkins插件之Ansicolor(神器)
    • 最基础核心的Jenkins功能部署一个java应用
    • Jenkins+sonar构建代码扫描
      • 1,认识 sonar。
      • 2,部署前准备。
      • 3,正式部署。
        • 1,依赖。
        • 2,创建数据库。
        • 3,使用普通用户。
        • 4,SonarQube 安装。
        • 5,sonar-scanner 安装。
        • 6,配置环境变量。
        • 7,运行 sonarqube。
        • 8,配置开机自启动。
        • 9,插件安装。
      • 4,Jenkins 构建。
        • 1,添加插件。
        • 2,添加用户。
        • 3,添加工具。
        • 4,创建一个测试项目。
        • 5,查看结果。
    • Jenkins+docker+gitlab将应用部署到docker
    • Jenkins参数化构建犀利插件Active-Choices-Plugin
    • 记一次将代码中参数外显到构建历史中的操作
    • Jenkins升级与迁移的经验分享
    • pipeline笔记之从一个简单的项目构建开始
    • Jenkinsfile声明式语法详解
    • 自动构建的原始配置以及pipeline中的用法
    • 多分支构建的实践与思考
    • 使用Jenkinsfile类前端项目的部署与回滚
    • 如何在Jenkinsfile中定义一个全局的时间戳变量
    • Jenkins中自由风格回滚方案的最佳实践
    • Jenkins中pipeline风格回滚方案的最佳实践
    • pipeline结合ansible剧本进行批量的部署与回滚配置
    • 最近配置安卓iOS打包本地化流程中一些值得记录的内容
    • pipeline中如何在environment环节声明一个含有通配符的变量
    • git-Parameter插件在pipeline共享库中的实践详解
    • jenkins作为ci检测代码是否合并的实践
    • 将Jenkins共享库的Jenkinsfile放到ci静态检测的实践
    • Jenkins的pipeline实践之GitSCM参数配置项详解
    • Jenkins中pipeline对接CMDB接口获取主机列表的发布实践
    • Jenkins有任务无法kill提示即将关闭
    • Jenkins基于Share Library共享库的最佳实践探索
    • Jenkins结合MySql Database插件的平台化实践思路
    • Jenkins-Groovy中三元表达式的用法
    • Jenkins-Groovy中Switch的高阶用法
    • Jenkins-pipeline之利用activity choice插件对接查询MySQL数据实现动态参数化的功能
    • CentOS通过yum快速安装Jenkins
    • Jenkins-pipeline语法之错误处理详解(文末有干货)
    • Jenkins常用插件汇总以及简单介绍
    • Jenkins所遇报错汇总及解决
    • Jenkins管理维护运维规范
  • ELK笔记

  • Kubernetes笔记

  • LLM专题

  • 系列专题
  • Jenkins系列文章
二丫讲梵
2018-11-06
目录

Jenkins+sonar构建代码扫描

文章发布较早,内容可能过时,阅读注意甄别。

# 1,认识 sonar。

Sonar 是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,通过插件形式,可以支持包括 java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy 等等二十几种编程语言的代码质量管理与检测。

通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

# 2,部署前准备。

  • 主程序包:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.5.zip
  • cli 程序包:https://github.com/SonarSource/sonar-scanner-cli/archive/3.0.3.778.zip
  • 中文语言包:https://github.com/SonarQubeCommunity/sonar-l10n-zh/archive/sonar-l10n-zh-plugin-1.19.zip

下载完成之后,将如上包传入服务器中。

因为上边下载的包在使用过程中还需要一些其他操作,因此这里直接将可用的包打包,存在百度云。

  • 下载地址:https://pan.baidu.com/s/1LvTj22Xzrmoh6T0GmyAuPA

  • 提取码:jyuh

# 3,正式部署。

# 1,依赖。

整个环境依赖 jdk 环境(官方建议使用 OpenJDK 8),也要准备好 maven 工具在系统中,这两个的准备工作就不详细展示了。

对于主机配置的要求,官方建议是,实例需要至少 2GB 的 RAM 才能有效运行,并且 1GB 的可用 RAM 用于操作系统。磁盘方面,如果代码量足够大,那么应该给予足够大(150G)的磁盘,并且是出色读写性能的硬盘。

本次部署也是在 Jenkins 主机上直接进行的部署操作

# 2,创建数据库。

关于数据库,如果选择 MySQL,那么官方建议的是 5.6 和 5.7 这两个版本,这里我使用 5.6 版本的。

通过 curl 192.168.10.10/a | sh进行安装,安装完成之后,创建如下数据库:

mysql> CREATE DATABASE sonar DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
1
2
3
4
5

# 3,使用普通用户。

这里使用普通用户来管理 sonar,因为后边如果使用 root 启动会报错,这个还真别不听,如果不信,可以自己测试一下,主要是到时候的 elasticsearch 组件会因为 root 启动而报错can not run elasticsearch as root,所以还是乖乖的使用普通用户来部署吧。

[root@localhost ~]$useradd sonar
[root@localhost ~]$passwd sonar
1
2

给刚刚创建的普通用户以 sudo 权限。

[root@localhost opt]$vim /etc/sudoers
1

在第 93 行添加如下内容:

sonar    ALL=(ALL)       ALL
1

顺便在这个当口,将程序的文件打开数放开一下:

[root@jenkins ~]$vim /etc/security/limits.conf

在最末尾添加:

sonarqube   -   nofile   65536
sonarqube   -   nproc    2048
1
2
3
4
5
6

# 4,SonarQube 安装。

以下操作将在刚刚创建的普通用户 sonar 下进行。

  • 1,先将刚刚的文件传输到服务器。

    [sonar@jenkins ~]$ls
    sonar-l10n-zh-sonar-l10n-zh-plugin-1.19.zip  sonarqube-6.7.5.zip  sonar-scanner-cli-3.0.3.778.zip
    
    1
    2
  • 2,解压部署 sonarqube。

    [sonar@jenkins ~]$unzip sonarqube-6.7.5.zip
    [sonar@jenkins ~]$mv sonarqube-6.7.5 sonarqube
    [sonar@jenkins ~]$ll sonarqube
    total 12
    drwxr-xr-x 8 sonar sonar  136 Aug  6 10:29 bin
    drwxr-xr-x 2 sonar sonar   50 Aug  6 10:20 conf
    -rw-r--r-- 1 sonar sonar 7651 Aug  6 10:20 COPYING
    drwxr-xr-x 2 sonar sonar   24 Aug  6 10:20 data
    drwxr-xr-x 7 sonar sonar  150 Aug  6 10:29 elasticsearch
    drwxr-xr-x 4 sonar sonar   40 Aug  6 10:20 extensions
    drwxr-xr-x 9 sonar sonar  140 Aug  6 10:29 lib
    drwxr-xr-x 2 sonar sonar    6 Aug  6 10:20 logs
    drwxr-xr-x 2 sonar sonar   24 Aug  6 10:20 temp
    drwxr-xr-x 9 sonar sonar 4096 Aug  6 10:29 web
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
  • 3,将 mysql 启动包导入。

    包名称mysql-connector-java-5.1.40.jar,此包在maven.aliyun.com (opens new window)里边搜索一下即可找到,上边的完整包里边已经包含。

    下载之后传到服务器,放在对应目录下:

    [sonar@jenkins ~]$mkdir sonarqube/extensions/jdbc-driver/mysql
    [sonar@jenkins ~]$mv mysql-connector-java-5.1.40.jar  sonarqube/extensions/jdbc-driver/mysql/
    
    1
    2

    注意其中的路径,不要放错位置了。

  • 4,配置 sonarqube。

    sonar 的配置文件在/home/sonar/sonarqube/conf/sonar.properties。

    [sonar@jenkins ~]$vim /home/sonar/sonarqube/conf/sonar.properties
    配置如下三条:
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    
    1
    2
    3
    4
    5

    当然,如果数据库不在本机,那么 localhost 可以更改为对应主机 ip。

    下面是可以配置的一些其他参数:

    #sonar.jdbc.maxActive=60
    #sonar.jdbc.maxIdle=5
    #sonar.jdbc.minIdle=2
    #sonar.jdbc.maxWait=5000
    #sonar.jdbc.minEvictableIdleTimeMillis=600000
    #sonar.jdbc.timeBetweenEvictionRunsMillis=30000
    
    1
    2
    3
    4
    5
    6

保存出来。

# 5,sonar-scanner 安装。

  • 1,解压之后配置。
[sonar@jenkins ~]$unzip sonar-scanner-cli-3.0.3.778.zip
[sonar@jenkins ~]$mv sonar-scanner-cli-3.0.3.778 sonar-scanner
[sonar@jenkins ~]$ll sonar-scanner
total 52
-rw-rw-r-- 1 sonar sonar  2585 May 12  2017 appveyor.ps1
-rw-rw-r-- 1 sonar sonar   351 May 12  2017 appveyor.yml
drwxrwxr-x 4 sonar sonar    48 May 12  2017 it
-rw-rw-r-- 1 sonar sonar  7635 May 12  2017 LICENSE.txt
-rw-rw-r-- 1 sonar sonar   179 May 12  2017 NOTICE.txt
-rw-rw-r-- 1 sonar sonar 12308 May 12  2017 pom.xml
-rw-rw-r-- 1 sonar sonar   812 May 12  2017 README.md
-rw-rw-r-- 1 sonar sonar   264 May 12  2017 run_integration_tests.sh
drwxrwxr-x 4 sonar sonar    30 May 12  2017 src
-rw-rw-r-- 1 sonar sonar   166 May 12  2017 third-party-licenses.sh
-rwxr-xr-x 1 sonar sonar   475 May 12  2017 travis.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  • 2,编译打包。

  • 注意,这个地方是要进行一些配置的,但是目前这种情况是无法配置的,也就是说,这个 cli 需要编译之后才能够使用,那么可以通过 maven 工具进行编译,也可以直接在安装包里下载可用的包。

    如果你的 maven 工具已经配置好了,那么可以直接运行如下命令构建:

    [sonar@jenkins sonar-scanner]$mvn clean install
    
    1

​ 打包之后,会多出一个 target 目录,查看里边的文件

[sonar@jenkins sonar-scanner]$ls target/
archive-tmp  generated-sources       maven-archiver  original-sonar-scanner-cli-3.0.3-SNAPSHOT.jar  sonar-scanner-cli-3.0.3-SNAPSHOT.jar          surefire-reports
classes      generated-test-sources  maven-status    sonar-scanner-3.0.3-SNAPSHOT.zip               sonar-scanner-cli-3.0.3-SNAPSHOT-sources.jar  test-classes
1
2
3
  • 而那个sonar-scanner-3.0.3-SNAPSHOT.zip就是我们需要的文件了。

  • 拿出来,重新操作一波。

  • [sonar@jenkins sonar-scanner]$mv target/sonar-scanner-3.0.3-SNAPSHOT.zip ~/
    [sonar@jenkins sonar-scanner]$cd
    [sonar@jenkins ~]$unzip sonar-scanner-3.0.3-SNAPSHOT.zip
    [sonar@jenkins ~]$ls
    sonar-l10n-zh-sonar-l10n-zh-plugin-1.19.zip  sonarqube-6.7.5.zip  sonar-scanner-3.0.3-SNAPSHOT      sonar-scanner-cli-3.0.3.778.zip
    sonarqube                                    sonar-scanner        sonar-scanner-3.0.3-SNAPSHOT.zip
    [sonar@jenkins ~]$rm -rf sonar-scanner
    [sonar@jenkins ~]$mv sonar-scanner-3.0.3-SNAPSHOT sonar-scanner
    
    1
    2
    3
    4
    5
    6
    7
    8
  • 3,配置。

    接下来才可正式进入 cli 的配置。

[sonar@jenkins ~]$vim /home/sonar/sonar-scanner/conf/sonar-scanner.properties
1

将如下三句添加在文件末尾:

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
1
2
3

# 6,配置环境变量。

这里切回到 root 用户进行添加。

[root@jenkins ~]$vim /etc/profile

在末尾添加:

#set sonar-quebe and sonar_runner_home
export SONAR_HOME=/home/sonar/sonarqube
export SONAR_RUNNER_HOME=/home/sonar/sonar-scanner
export PATH=$PATH:$SONAR_HOME/bin/linux-x86-64:$SONAR_RUNNER_HOME/bin
1
2
3
4
5
6
7
8

加载配置,注意,在加载之前,请确保主机目录与我上边的是一致的,否则可能出现环境被搞乱的风险。

[sonar@jenkins ~]$source /etc/profile
1

# 7,运行 sonarqube。

[sonar@jenkins ~]$cd sonarqube/bin/linux-x86-64/
[sonar@jenkins linux-x86-64]$ls
lib  sonar.sh  wrapper
[sonar@jenkins linux-x86-64]$./sonar.sh
Usage: ./sonar.sh { console | start | stop | restart | status | dump }
[sonar@jenkins linux-x86-64]$./sonar.sh start
1
2
3
4
5
6

关于启动脚本的各项参数,已经在上边展示出来了,可以尝试一下。

等待一会儿,就可以访问了。

通过 192.168.10.3:9000 进行访问。

image

点击 login,用户名密码默认为 admin/admin 进行登入。

开始有一个教程,不过先跳过:

image

# 8,配置开机自启动。

我的主机用的是 CentOS-7。

先将启动命令加入环境中。

[root@jenkins ~]$ln -s /home/sonar/sonarqube/bin/linux-x86-64/sonar.sh /usr/bin/sonar

验证一下:
[root@jenkins ~]$sonar status
SonarQube is running (36982).
1
2
3
4
5

然后创建 service 管理方式。

[root@jenkins ~]$vim /etc/init.d/sonar

添加如下内容:

#!/bin/bash
#
# rc file for SonarQube
#
# chkconfig: 345 96 10
# description: SonarQube system (www.sonarsource.org)
#
### BEGIN INIT INFO
# Provides: sonar
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: SonarQube system (www.sonarsource.org)
# Description: SonarQube system (www.sonarsource.org)
### END INIT INFO

/usr/bin/sonar $*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

简单配置:

[root@jenkins ~]$chmod 755 /etc/init.d/sonar
[root@jenkins ~]$chkconfig --add sonar
[root@jenkins ~]$chkconfig sonar on

测试一下:
[root@jenkins ~]$service sonar status
SonarQube is running (36982).
1
2
3
4
5
6
7

# 9,插件安装。

这里主要先安装一个中文语言包的插件。

插件下载地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh

唯一要注意的问题就是,版本要与刚刚安装的相对应。

image

下载之后传入到服务器当中。

[sonar@jenkins ~]$unzip sonar-l10n-zh-sonar-l10n-zh-plugin-1.19.zip
[sonar@jenkins ~]$ll sonar-l10n-zh-sonar-l10n-zh-plugin-1.19
total 8
drwxrwxr-x 4 sonar sonar   79 Nov 14  2017 compare
-rw-rw-r-- 1 sonar sonar 3436 Nov 14  2017 pom.xml
-rw-rw-r-- 1 sonar sonar  983 Nov 14  2017 README.md
drwxrwxr-x 4 sonar sonar   30 Nov 14  2017 src
1
2
3
4
5
6
7

同样这里需要编译之后才能使用,当然也可以在刚才的链接当中直接下载所需的 jar 包。

[sonar@jenkins sonar-l10n-zh-sonar-l10n-zh-plugin-1.19]$mvn clean install

同样的,编译完成之后会多一个target的目录。

[sonar@jenkins sonar-l10n-zh-sonar-l10n-zh-plugin-1.19]$ll target/
total 40
drwxrwxr-x 3 sonar sonar    17 Nov  6 13:48 classes
drwxrwxr-x 3 sonar sonar    25 Nov  6 13:48 generated-sources
drwxrwxr-x 3 sonar sonar    30 Nov  6 13:48 generated-test-sources
drwxrwxr-x 2 sonar sonar    28 Nov  6 13:48 maven-archiver
drwxrwxr-x 3 sonar sonar    35 Nov  6 13:48 maven-status
-rw-rw-r-- 1 sonar sonar 38340 Nov  6 13:48 sonar-l10n-zh-plugin-1.19-RC2-SNAPSHOT.jar
drwxrwxr-x 2 sonar sonar   123 Nov  6 13:48 surefire-reports
drwxrwxr-x 3 sonar sonar    17 Nov  6 13:48 test-classes
1
2
3
4
5
6
7
8
9
10
11
12
13
14

我们所需要的就是编译出来的 jar 包,把 jar 包移动到/home/sonar/sonarqube/extensions/plugins目录下即可。

[sonar@jenkins sonar-l10n-zh-sonar-l10n-zh-plugin-1.19]$mv target/sonar-l10n-zh-plugin-1.19-RC2-SNAPSHOT.jar /home/sonar/sonarqube/extensions/plugins/
1

移动之后重启一下服务即可。

[sonar@jenkins ~]$/home/sonar/sonarqube/bin/linux-x86-64/sonar.sh restart
1

重启完成之后,再去浏览器刷新一下,发现系统已经变成中文的了。

image

# 4,Jenkins 构建。

# 1,添加插件。

首先在 Jenkins 当中下载对应的插件。

image

插件安装完成之后,在 jenkins 的”系统管理”–》“系统设置”, 就能看到 SonarQube servers 的配置点,截图如下:

image

# 2,添加用户。

配置之前,需要先在 sonar 当中添加一个连接用户。

image

这里创建一个用户,用户名为 test,秘钥复制下来。回到刚刚 Jenkins 处进行配置:

image

注意这里的 URL,应当填写部署 sonar 的主机 ip,即便你是同样部署的 Jenkins 本机的,也不要写成 localhost,因为在后边会用到这个配置信息。

# 3,添加工具。

在 Jenkins 的系统管理中的全局工具当中,添加 sonar 工具。

image

与此同时,不用多说的,也应将 jdk 的工具,maven 的工具配置完善。

jdk:

image

maven:

image

# 4,创建一个测试项目。

创建一个 maven 风格的名称为 test-sonar 的项目。

过程不详细说了,直接看截图。

image

其中的 sonar 片段,除了定义一个名称,选中刚刚添加的 jdk 工具,重要的就是当中的那段配置了。

内容如下:

#项目key (随意输入,必填项)
sonar.projectKey=test-sonar

#项目名称和版本(必填项)
sonar.language=java
sonar.projectVersion=1.0
sonar.sourceEncoding =UTF-8
sonar.projectName=test-sonar

#源码位置(必填项,相对于jenkins的workspace路径,例如,我此时的绝对路径为~/.jenkins/workspace/Test/test-webapp/src/main/java)
sonar.sources=src/main/java

#编译后的class位置(必填项,旧版本此项可不填,建议还是填入,相对路径同上)
sonar.java.binaries=target/classes
1
2
3
4
5
6
7
8
9
10
11
12
13
14

然后保存项目,构建一次。

在构建界面中,可以看到一些不一样的东东。

image

左侧的 SonarQube 点击之后可以直接跳转到这个项目对应的 sonar 中的结果。

# 5,查看结果。

来到 sonar 界面当中,刷新一下,首先映入眼帘的,就是我们刚刚定义的一个 test-sonar 的项目展示。

image

到这里,基本上关于这个代码检测的开源工具流程就结束了,剩下的,就是深入使用,慢慢详细了解其中的各个功能,以帮助于日常工作。

微信 支付宝
#jenkins#sonar
上次更新: 2024/07/04, 22:40:37
最基础核心的Jenkins功能部署一个java应用
Jenkins+docker+gitlab将应用部署到docker

← 最基础核心的Jenkins功能部署一个java应用 Jenkins+docker+gitlab将应用部署到docker→

最近更新
01
学习周刊-总第212期-2025年第21周
05-22
02
从赵心童世锦赛夺冠聊聊我的斯诺克情缘
05-16
03
学习周刊-总第211期-2025年第20周
05-15
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式