当前位置: 首页 > news >正文

SonarQube集成Jenkins平台搭建

SonarQube平台搭建

一、项目搭建的必要条件

  • SonarQube 8.9.10 previous LTS 依据公司现有服务目前的Jdk版本1.8,需要选择一个适用的长期支持版本,我在这里选用的是SonarQube 8.9.10 previous LTS。下载地址:Download Previous SonarQube Versions | Sonar

  • PostgreSQL 12

    根据官方文档要求版本是9.6- 13,我们采用12。下载地址:EDB: Open-Source, Enterprise Postgres Database Management 注意:Must be configured to use UTF-8 charset

  • JDK11

    下载地址:JDK下载 - 编程宝库

二、搭建SonarQube

  • 安装教程见官网:Install the server
  • 修改sonar.properties
sonar.jdbc.username=sonar 
sonar.jdbc.password=sonar 
sonar.jdbc.url=jdbc:postgresql://localhost/sonar?currentSchema=public sonar.web.port=9090 

  • 插件汉化 方式一:登录SonarQube平台,在配置-->应用市场-->搜索Chinese Pack进行安装 方式二:下载对应jar包,放在<SONARQUBE_HOME>/extensions/plugins里面 插件市场地址:SonarQube™ Plugins Index ;针对与java的pmd-p3c插件地址:GitHub - caowenliang/sonar-pmd-p3c: sonarQube 整合 阿里p3c

三、ScanSonarScanner配置

  • 下载地址:SonarScanner
  • 配置环境变量:
vi /etc/profile 
#SonarScanner 
export Sonar_Home=/opt/SonarScanner/ 
export PATH=$Sonar_Home/bin:$PATH 
source /etc/profile 
  • 修改 配置sonar-scanner.properties:
#----- Default SonarQube server 
sonar.host.url=http://localhost:9090 
#----- Default source code encoding 
sonar.sourceEncoding=UTF-8 

四、集成Jenkins

  • 下载ScanSonarScanner插件(插件市场搜索SonarScanner for Jenkins),重启Jenkins

  • 服务配置:Manage Jenkins > Configure System>SonarQube servers 

  • 客户端配置:Manage Jenkins > Tools>SonarQube Scanner 

  • 构建配置:Configure>Build Steps 

  • Analysis properties 参数内容解释:

#projectKey:项目唯一标识 projectName:项目名称 二个名字一样即可 
sonar.projectKey=iflb-web-166
sonar.projectName=iflb-web-166
#分析的路径 相对路径在jenkins是相对于workspace来说的 
sonar.sources=src_bak 
#登录sonarqube凭证 
sonar.login=acd76918c4eab666433c2783c073d2ddf52e120d 
sonar.nodejs.executable=/home/worker/tools/node-v10.15.3-linux-x64/bin/node 
#Java编译后的文件目录 
sonar.java.binaries=target/classes 
#只解析java语言 
sonar.language=java

相关文章:

  • 【Python】一文向您详细解析内置装饰器 @lru_cache
  • 【Android面试八股文】Kotlin内置标准函数let的原理是什么?
  • 初识C++ · 继承(1)
  • 乐鑫ESP32相关资料整理
  • 喜马拉雅项目调整
  • 让NSdata对象转变成UIImage对象再裁剪图片的方法
  • Linux--视频推流及问题
  • 新渠道+1!TDengine Cloud 入驻 Azure Marketplace
  • 代码随想录刷题复习day01
  • Java多线程设计模式之保护性暂挂模式
  • 关于Threejs的使用二
  • 东芝-Soft Limit 报警及其解决办法
  • 代码随想录算法训练营第29天(贪心)|455.分发饼干、376. 摆动序列、53. 最大子序和
  • C语言 图的基础知识
  • HTTP/2 协议学习
  • 2017 前端面试准备 - 收藏集 - 掘金
  • ECMAScript入门(七)--Module语法
  • js
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • PHP 小技巧
  • Promise面试题,控制异步流程
  • React as a UI Runtime(五、列表)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 浮现式设计
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 微信小程序:实现悬浮返回和分享按钮
  • 我有几个粽子,和一个故事
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • # 安徽锐锋科技IDMS系统简介
  • ######## golang各章节终篇索引 ########
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (poj1.3.2)1791(构造法模拟)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (补充)IDEA项目结构
  • (二)linux使用docker容器运行mysql
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (四)进入MySQL 【事务】
  • (自用)交互协议设计——protobuf序列化
  • ******IT公司面试题汇总+优秀技术博客汇总
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net 调用海康SDK以及常见的坑解释
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .net(C#)中String.Format如何使用
  • .NET分布式缓存Memcached从入门到实战
  • .net网站发布-允许更新此预编译站点
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • ::before和::after 常见的用法