当前位置:首页 > 科技  > 软件

微服务部署—配置Jenkins+SonarQube进行代码质量检查

来源: 责编: 时间:2023-10-13 14:36:32 198观看
导读SonarQube是一款静态代码分析、代码质量度量和漏洞检测的开源代码质量管理平台,它提供了许多功能,包括静态代码分析、代码覆盖率、复杂度分析、漏洞检测等。SonarQube可以集成到许多流行的编程语言和集成开发环境中,帮助

en728资讯网——每日最新资讯28at.com

SonarQube是一款静态代码分析、代码质量度量和漏洞检测的开源代码质量管理平台,它提供了许多功能,包括静态代码分析、代码覆盖率、复杂度分析、漏洞检测等。SonarQube可以集成到许多流行的编程语言和集成开发环境中,帮助开发人员创建高质量的软件项目。SonarQube以及依赖环境软件的安装已经在此系列文章的第一篇写过,这里只介绍如何配置和使用Jenkins+SonarQube进行代码质量检查。en728资讯网——每日最新资讯28at.com

登录http://ip:19000 ,默认用户名密码:admin/admin ,第一次登录会提示更改密码,设置一个自定义密码即可。配置>应用市场,安装中文插件,这里选择Chinese Pack LOCALIZATION(中文简体),下面那个是中文繁体。
  • 如果安装时出现错误,一般是安装的插件和当前SonarQube版本不兼容,此时需要到插件官网下载SonarQube对应版本的插件放到,我们的目录下/data/docker/ci/sonarqube/extensions/downloads,然后通过 配置>系统>重启服务器,即可使插件生效。

en728资讯网——每日最新资讯28at.com

3、安装Java质量检查插件,在应用市场搜索java,然后在列表中安装Checkstyle、Findbugs、PMD。

en728资讯网——每日最新资讯28at.com

4、配置 > SCM,关闭禁用SCM传感器(Disable the SCM Sensor)

en728资讯网——每日最新资讯28at.com

5、配置 > 权限 > 用户,新建一个用户,在用户列表页点击令牌,执行生成token,用于配置在Jenkins和SonarQube交互。根据自己的需求设置过期时间,或者不过期。

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

6、切换到Jenkins配置界面,将生成的token配置到Jenkins,系统管理 > Credentials > 全局 > Add Credentials ,选择Secret text,在Secret填写上面生成的token,然后点击Create,保存token之后,就可以在SonarQube Servers添加这个token使用。

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

7、回到SonarQube界面,配置 > 项目 > 管理 > 创建项目,填写信息执行创建。

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

8、项目创建成功后,在项目列表点击项目名称,进入到项目配置界面。选择使用Jenkins > 选择 DevOps 平台(选择GitLab,根据项目实际情况选择) 。

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

9、根据提示,查看在Jenkins中的配置步骤。
  • 点击配置分析

en728资讯网——每日最新资讯28at.com

  • 创建流水线作业

en728资讯网——每日最新资讯28at.com

  • 创建一个 GitLab Webhook

en728资讯网——每日最新资讯28at.com

  • 创建 Jenkinsfile,选择Maven,然后会在下方出现针对此工程的Maven配置,复制此配置信息,稍后配置到Jenkins任务中。

en728资讯网——每日最新资讯28at.com

10、切换到Jenkins配置界面,我们新建一个流水线任务。

en728资讯网——每日最新资讯28at.com

11、SonarQube只提供了SonarQube检查的流水线脚本,我们直接将下载GitLab代码等都放到流水线任务中,这样比较简单。
  • 和之前的任务一样,选择“丢弃旧的构建”,设置保持构建的最大个数为5

en728资讯网——每日最新资讯28at.com

  • 直接到“流水线”,选择Pipeline script

en728资讯网——每日最新资讯28at.com

流水线脚本如下:en728资讯网——每日最新资讯28at.com

node {    def mvnHome    stage('Preparation') { // for display purposes        // Get some code from a GitHub repository        echo "checkout from GitLab"        checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'git_username', url: 'http://127.0.0.1:9091/test/test.git']])        // Get the Maven tool.        // ** NOTE: This 'M3' Maven tool must be configured        // **       in the global configuration.        mvnHome = tool 'maven_j'    }    stage('SonarQube Analysis') {        echo "sonar test code"        withEnv(["MVN_HOME=$mvnHome"]) {            withSonarQubeEnv() {                sh "'$MVN_HOME/bin/mvn' clean verify sonar:sonar -Dsonar.projectKey=sonarTest -Dsonar.projectName='Sonar质量检查'"            }        }    }    stage('Build') {        echo "build test code"        // Run the maven build        withEnv(["MVN_HOME=$mvnHome"]) {            if (isUnix()) {                sh '"$MVN_HOME/bin/mvn" -Dmaven.test.failure.ignore clean package'            } else {                bat(/"%MVN_HOME%/bin/mvn" -Dmaven.test.failure.ignore clean package/)            }        }    }    stage('Results') {        echo "end sonar testcode"        //junit '**/target/surefire-reports/TEST-*.xml'        // archiveArtifacts 'target/*.jar'    }}
12、在任务左侧点击立即构建
  • 立即构建

en728资讯网——每日最新资讯28at.com

  • 流水线任务可以在右侧显示阶段视图

en728资讯网——每日最新资讯28at.com

  • 查看构建日志:点击立即构建之后,下方会出现进度条,点击进度条就可以进入构建日志界面。

en728资讯网——每日最新资讯28at.com

en728资讯网——每日最新资讯28at.com

13、构建成功后,下方会给出构建成功提示,此时SonarQube服务器就可以看到我们项目的检查结果。

en728资讯网——每日最新资讯28at.com

14、在SonarQube页面查看代码质量检查结果

en728资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13277-0.html微服务部署—配置Jenkins+SonarQube进行代码质量检查

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Java机器视觉:利用OpenCV进行图像处理和识别

下一篇: 如何搭建高性能广告技术需求方平台

标签:
  • 热门焦点
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • 企业采用CRM系统的11个好处

    企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 三言两语说透柯里化和反柯里化

    三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 19个 JavaScript 单行代码技巧,让你看起来像个专业人士

    19个 JavaScript 单行代码技巧,让你看起来像个专业人士

    今天这篇文章跟大家分享18个JS单行代码,你只需花几分钟时间,即可帮助您了解一些您可能不知道的 JS 知识,如果您已经知道了,就当作复习一下,古人云,温故而知新嘛。现在,我们就开始今
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • 网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    网传小米汽车开始筛选交付中心 建筑面积不低于3000平方米

    7月7日消息,近日有微博网友@长三角行健者爆料称,据经销商集团反馈,小米汽车目前已经开始了交付中心的筛选工作,要求候选场地至少有120个车位,建筑不能低
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
  • 联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

    联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

    ThinkBook Plus 是联想的一个特殊笔记本类别,它在封面放入了一块墨水屏,也给人留下了较为深刻的印象。据有人爆料,联想的下一款 ThinkBook Plus 可能更特殊,它
  • 中关村论坛11月25日开幕,15位诺奖级大咖将发表演讲

    中关村论坛11月25日开幕,15位诺奖级大咖将发表演讲

    11月18日,记者从2022中关村论坛新闻发布会上获悉,中关村论坛将于11月25至30日在京举行。本届中关村论坛由科学技术部、国家发展改革委、工业和信息化部、国务
Top