IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    前端代码引入Sonar扫描

    王叨叨发表于 2022-05-15 13:09:00
    love 0

    2022-05-15T05:20:14.png

    Sonar 是一款开源的代码质量检查工具,基本支持所有流行的编程语言,可以帮助我们做一些代码的审查。

    在 Sonar 中,问题分为三种,每种按照严重程度分为 A-E 五个级别,三种问题分别为:

    • Reliability:识别出非运行时 bug;
    • Security:存在的安全漏洞问题;
    • Maintainability:不规范的代码,这个可以帮助我们改正我们代码中的一些不良习惯;

    另外 Sonar 还可以帮助我们分析出重复的代码。

    通过上面的介绍,Sonar 可以帮助我们改善代码质量,本文的重点不是讲解Sonar的搭建,而是介绍怎么通过Jenkins去做扫描。

    配置 SonarQube 令牌

    在后台-->个人账户-->安全 ,生成一个令牌后面需要用到:

    2022-05-15T04:53:53.png

    Jenkins 安装 Sonar 插件

    在 Jenkins 插件管理中,关键字搜索 SonarQube Scanner

    2022-05-15T04:46:37.png

    安装完,重启 Jenkins!

    配置插件

    在 Jenkins 全局工具配置中,找到 SonarQube Scanner 块,点击新增 SonarQube Scanner。版本选择与平台版本对应。

    2022-05-15T04:52:36.png

    在 Jenkins 设置中找到 SonarQube servers 块,配置服务端,Server URL就是 Sonar 服务地址,token 填写刚才生成的令牌。

    2022-05-15T04:59:06.png

    到这一步,Jenkins 中的配置已经完成。

    配置扫描规则

    这里只对前端未编译后的代码做扫描,所以只需要从 Git 上拉取代码,然后执行扫描即可。这里我做了一个自动构建触发,每隔 4 小时进行一次代码拉取,如果代码没有提交记录,就不会进行代码扫描,这里可以学习一下 CRON 。

    2022-05-15T05:02:15.png

    在构建中,选择 Execute SonarQube Scanner

    2022-05-15T05:02:33.png

    这里给出前端的配置规则:

    # 项目的唯一标识,不能重复
    sonar.projectKey=groupId_artifactId
    # projectName值不能是中文
    sonar.projectName=groupId_artifactId
    # 版本默认即可
    sonar.projectVersion=1.0
    # 默认master
    sonar.branch=master
    # 扫描的目录
    sonar.sources=src
    # 语言
    sonar.language=js
    # 编码规则
    sonar.sourceEncoding=UTF-8
    # 过滤文件夹
    sonar.exclusions=**/plugin/**,

    通过以上配置,就完成了整个步骤。

    查看效果

    执行扫描完,就可以在 Sonar 上面查看扫描结果

    一张比较好的:
    2022-05-15T05:04:45.png

    有问题的:
    2022-05-15T05:06:14.png
    2022-05-15T05:08:27.png

    参考Sonar文档:https://docs.sonarqube.org/latest/



沪ICP备19023445号-2号
友情链接