CN110928780B - 一种代码质量控制方法、装置、计算机设备及存储介质 - Google Patents

一种代码质量控制方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110928780B
CN110928780B CN201911134128.6A CN201911134128A CN110928780B CN 110928780 B CN110928780 B CN 110928780B CN 201911134128 A CN201911134128 A CN 201911134128A CN 110928780 B CN110928780 B CN 110928780B
Authority
CN
China
Prior art keywords
scanning
code
sonarqube
plug
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911134128.6A
Other languages
English (en)
Other versions
CN110928780A (zh
Inventor
刘倍材
李柏
黄波
潘孝
李如先
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN201911134128.6A priority Critical patent/CN110928780B/zh
Publication of CN110928780A publication Critical patent/CN110928780A/zh
Application granted granted Critical
Publication of CN110928780B publication Critical patent/CN110928780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种代码质量控制方法、装置、计算机设备及存储介质,方法包括:基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;在Jenkins服务器上配置扫描文件;设置目标代码所在目录和SonarQube服务器地址;当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。本发明提高了代码质量管理的效率,降低了代码出错率。

Description

一种代码质量控制方法、装置、计算机设备及存储介质
技术领域
本发明涉及代码质量控制领域,特别涉及一种代码质量控制方法、装置、计算机设备及存储介质。
背景技术
在微服务框架的开发过程中,不同的开发人员负责独立的功能模块,且每人的编码风格不一致,故往往会提供一套编码规范进行规约,在推广的过程中,考虑到开发人员的能力及习惯不同,且项目开发的迭代周期,紧急程度不同,使得代码规范在更多的时候只是形式化,而不是实践化。
针对这种情况,有人提出了Code Review(代码审查),Code Review在某种程度上可以解决代码是否符合规范的问题,但由于一个项目中的代码量多,在Code Review时容易出现遗漏,而且耗时大,故此不建议使用此方式进行代码质量管理。
发明内容
本发明的目的是提供一种代码质量控制方法、装置、计算机设备及存储介质,现有技术中代码质量控制方法效率低的问题。
本发明实施例提供一种代码质量控制方法,其中,包括:
基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
在Jenkins服务器上配置扫描文件;
设置目标代码所在目录和SonarQube服务器地址;
当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。
优选的,还包括:
预先定义扫描插件的扫描器,以指定扫描的特定领域语言。
优选的,还包括:
预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性。
优选的,还包括:
预先定义扫描插件的扫描规则,以确定解析xml文件的规则。
优选的,还包括:
预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名。
优选的,所述设置目标代码所在目录和SonarQube服务器地址,包括:
设置项目名称和SonarQube服务器的账号信息。
优选的,还包括:
预先配置Jenkins任务以及定时时间。
本发明实施例还提供一种代码质量控制装置,其包括:
加载单元,用于基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
激活单元,用于激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
配置单元,用于在Jenkins服务器上配置扫描文件;
设置单元,用于设置目标代码所在目录和SonarQube服务器地址;
扫描单元,用于当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
判断单元,用于根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的代码质量控制方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的代码质量控制方法。
本发明实施例提供了一种代码质量控制方法、装置、计算机设备及存储介质,方法包括:基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;在Jenkins服务器上配置扫描文件;设置目标代码所在目录和SonarQube服务器地址;当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。本发明实施例提高了代码质量管理的效率,降低了代码出错率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种代码质量控制方法的流程示意图;
图2为本发明实施例所提供的一种代码质量控制装置的示意性框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种代码质量控制方法的流程示意图,包括步骤S101~S106:
S101、基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
此步骤中,基于SonarQube平台的插件API,实现一套与代码规范匹配的SonarQube插件,用来扫描代码。具体可按照不同的语言(Java,Python,Go,SQL,JavaScript等)提供不同功能实现的扫描插件。
SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。SonarQube支持多种编程语言,例如java、PL/SQL、JavaScrip等等,从而可以实现多种编程语言的代码质量管理与检测。
S102、激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
此步骤中,在SonarQube服务器上激活扫描插件,即激活该扫描插件对应的质量配置(Quality Profile),也就是激活编码规范对应的规则集。并且在此步骤中还预先设置好代码的质量阀,该质量阀即为质量指标。
S103、在Jenkins服务器上配置扫描文件;
此步骤是指在Jenkins服务器上,配置sonar-scanner-cli,此文件为扫描文件。
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论使用何种平台,都可以处理任何类型的构建或持续集成。
Jenkins系统管理中一个比较重要的管理是插件管理,因为Jenkins的工作均由插件来完成。在插件管理中,有可更新插件、可选插件、已安装插件。
一般来说,Jenkins可以采用三种方式部署:触发式构建、参数化构建和定时构建。
触发式构建用于开发环境部署,开发人员推送代码或者合并代码到gitlab项目的主分支,Jenkins就部署代码到对应服务器。
参数化构建用于测试环境预上线环境部署,开发人员推送代码或者合并代码到gitlab项目的主分支之后,并不会部署代码,而是需要登录到Jenkins的web界面,点击构建按钮,传入对应的参数(比如参数需要构建的标签,需要部署的分支)然后进行部署。
定时构建用于自动打包,定时构建可在参数化构建的基础上添加,开发人员可以登录Jenkins的web界面手动传入标签进行打包;当然也可以不手动打包,可以定时拉取最新的代码打包,例如每天凌晨从gitlab拉取最新的代码打包。
本发明实施例是将参数化构建与定时构建相结合,即在参数化构建的基础上进行定时构建。
S104、设置目标代码所在目录和SonarQube服务器地址;
此步骤中,在不同的项目下,配置sonar-project.properties文件,设置目标代码所在目录即待分析代码所在目录,SonarQube服务器地址。
具体地,可以在需要进行代码质量检测的项目根目录下新建一个名为sonar-project.properties的配置文件,然后设置目标代码所在目录和SonarQube服务器地址。
在一实施例中,所述设置目标代码所在目录和SonarQube服务器地址,包括:
设置项目名称和SonarQube服务器的账号信息。
S105、当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
当接收到扫描指令时,会解析sonar-project.properties文件,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告。
具体地,可以按如下方式进行扫描:
查看目标代码所在目录是否有待扫描的代码,若有则创建新项目,并设置项目的创建标志以及显示信息,然后创建令牌和配置当前项目的信息,再进行扫描。
S106、根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。
此步骤中,根据生成的质量报告,判断目标代码质量是否满足质量阀的要求,如果满足则无需修改,结束流程。如果不满足则返回修改,以便修改代码不符合规范之处,然后再次进行扫描,直至符合质量阀(指标)。
在一实施例中,所述的代码质量控制方法还包括:
预先定义扫描插件的扫描器,以指定扫描的特定领域语言。
此步骤中,实现接口为org.sonar.api.batch.sensor.Sensor,以指定扫描插件负责扫描的特定领域语言(DSL),如负责扫描Java语言,如遇到非Java语言的文件则忽略。具体地,可以从插件扩展类中查找实现org.sonar.api.batch.sensor.Sensor接口的执行类。可以看到有三个扩展点:sensor,decorator,postJob。这三个扩展点分别对应org.sonar.api.batch.Decorator,org.sonar.api.batch.Sensor,org.sonar.api.batch.PostJob这三个类。可以继承这三个类中的某一个,然后把这个类进行注册即可。
扫描特定领域语言(DSL)的SonarQube插件可以按如下方式实现:
1、先识别扩展点;2、然后基于扫描DSL源码的需求,扩展接口;3、再定义DSL语言的属性,以便于识别以及扫描时过滤相关的源文件(通过文件的后缀);4、再定义DSL语言;5、再定义规则,实现接口为RulesDefinition,可通过context(上下文)新建出一个repository(知识库)。所述respository需要使用一个唯一key(字段)作为其标识(具体可以通过setName方法设置名称)以及一个language key(语言字段)来关联;6、再定义Profile(配置文件),具体实现接口为ProfileDefinition,具体可使用XMLProfileParser解析profile.xml文件,并生成RulesProfile对象。7、然后运行PMD扫描代码。PMD是一款源码分析工具,支持分析Java、Javascript、PLSQL、ApacheVelocity、XML、XSL语言。定义PMD需要使用到的规则集custom-pmd-rules.xml。将PMD输出的XML格式的报告转化成Sonar能够理解的格式。8、注册组件。
在一实施例中,所述的代码质量控制方法还包括:
预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性。
此步骤是用来区分代码是否是Java语言的代码文件。具体的,实现抽象类org.sonar.api.resources.AbstractLanguage,指定特定领域语言的某些属性,以便在扫描时过滤相关的源代码,如指定Java语言的文件后缀名为.java。
在一实施例中,所述的代码质量控制方法还包括:
预先定义扫描插件的扫描规则,以确定解析xml文件的规则。
此步骤中,实现接口为org.sonar.api.server.rule.RulesDefinition,负责解析扫描插件的扫描规则。
在一实施例中,所述的代码质量控制方法还包括:
预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名。
此步骤中,实现抽象类org.sonar.api.profiles.ProfileDefinition,将前面的扫描规则形成集合并对各扫描规则命名。
在一实施例中,所述的代码质量控制方法还包括:
预先配置Jenkins任务以及定时时间。
具体的,可以配置Jenkins任务,配置定时构建,指定shell命令:sonar-scanner;然后解析sonar-project.properties文件,从而进行扫描。这样可以定时扫描业务代码,自动将扫描的质量报告上传到SonarQube服务器上。
请参阅图2,图2为本发明实施例提供的一种代码质量控制装置的示意性框图,该装置200可以包括:
加载单元201,用于基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
激活单元202,用于激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
配置单元203,用于在Jenkins服务器上配置扫描文件;
设置单元204,用于设置目标代码所在目录和SonarQube服务器地址;
扫描单元205,用于当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
判断单元206,用于根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描。
在一实施例中,所述的代码质量控制装置200还包括:
第一定义单元,用于预先定义扫描插件的扫描器,以指定扫描的特定领域语言。
在一实施例中,所述的代码质量控制装置200还包括:
第二定义单元,用于预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性。
在一实施例中,所述的代码质量控制装置200还包括:
第三定义单元,用于预先定义扫描插件的扫描规则,以确定解析xml文件的规则。
在一实施例中,所述的代码质量控制装置200还包括:
第四定义单元,用于预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名。
在一实施例中,所述设置单元204包括:
名称账号设置单元,用于设置项目名称和SonarQube服务器的账号信息。
在一实施例中,所述的代码质量控制装置200还包括:
配置单元,用于预先配置Jenkins任务以及定时时间。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的代码质量控制方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的代码质量控制方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (4)

1.一种代码质量控制方法,其特征在于,包括:
基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
在Jenkins服务器上配置扫描文件;
设置目标代码所在目录和SonarQube服务器地址,并在不同的目录下,配置sonar-project.properties文件;
当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
所述当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,包括:
查看目标代码所在目录是否有待扫描的代码,若有则创建新项目,并设置项目的创建标志以及显示信息,然后创建令牌和配置当前项目的信息,再进行扫描;
根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描;
预先配置Jenkins任务以及定时时间;
所述预先配置Jenkins任务以及定时时间包括:
配置Jenkins任务,配置定时构建,指定shell命令:sonar-scanner;解析sonar-project.properties文件,进行定时扫描业务代码,并自动将扫描的质量报告上传到SonarQube服务器上;
所述的代码质量控制方法还包括:
预先定义扫描插件的扫描器,以指定扫描的特定领域语言,其中,所述扫描器的实现接口为org.sonar.api.batch.sensor.Sensor;
所述的代码质量控制方法还包括:
预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性;
所述的代码质量控制方法还包括:
预先定义扫描插件的扫描规则,以确定解析xml文件的规则,其中,所述扫描规则的实现接口为org.sonar.api.server.rule.RulesDefinition;
所述的代码质量控制方法还包括:
预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名;
所述的代码质量控制方法所述设置目标代码所在目录和SonarQube服务器地址,包括:
设置项目名称和SonarQube服务器的账号信息。
2.一种代码质量控制装置,其特征在于,包括:
加载单元,用于基于SonarQube平台的插件API,实现一个用于扫描代码的扫描插件,并将所述扫描插件加载到SonarQube服务器;
激活单元,用于激活所述SonarQube服务器上的扫描插件,以及预先设置代码的质量阀;
配置单元,用于在Jenkins服务器上配置扫描文件;
设置单元,用于设置目标代码所在目录和SonarQube服务器地址,并在不同的目录下,配置sonar-project.properties文件;
扫描单元,用于当接收到扫描指令时,根据所述SonarQube服务器地址和目标代码所在目录对目标代码进行扫描,最终生成质量报告;
所述扫描单元具体用于:查看目标代码所在目录是否有待扫描的代码,若有则创建新项目,并设置项目的创建标志以及显示信息,然后创建令牌和配置当前项目的信息,再进行扫描;
判断单元,用于根据所述质量报告判断目标代码质量是否满足所述质量阀的要求,若是则结束流程,若否则返回修改,并在修改后继续进行扫描;
配置单元,用于预先配置Jenkins任务以及定时时间;
所述配置单元具体用于:配置Jenkins任务,配置定时构建,指定shell命令:sonar-scanner;解析sonar-project.properties文件,进行定时扫描业务代码,并自动将扫描的质量报告上传到SonarQube服务器上;
所述的代码质量控制装置还包括:
第一定义单元,用于预先定义扫描插件的扫描器,以指定扫描的特定领域语言,其中,所述扫描器的实现接口为org.sonar.api.batch.sensor.Sensor;
所述的代码质量控制装置还包括:
第二定义单元,用于预先定义扫描插件的扫描语言,以指定所述特定领域语言的属性;
所述的代码质量控制装置还包括:
第三定义单元,用于预先定义扫描插件的扫描规则,以确定解析xml文件的规则,其中,所述扫描规则的实现接口为org.sonar.api.server.rule.RulesDefinition;
所述的代码质量控制装置还包括:
第四定义单元,用于预先定义扫描插件的质量配置,以将扫描规则形成集合并按指定名称对各扫描规则命名;
所述设置单元包括:
名称账号设置单元,用于设置项目名称和SonarQube服务器的账号信息。
3.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1所述的代码质量控制方法。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的代码质量控制方法。
CN201911134128.6A 2019-11-19 2019-11-19 一种代码质量控制方法、装置、计算机设备及存储介质 Active CN110928780B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911134128.6A CN110928780B (zh) 2019-11-19 2019-11-19 一种代码质量控制方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911134128.6A CN110928780B (zh) 2019-11-19 2019-11-19 一种代码质量控制方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110928780A CN110928780A (zh) 2020-03-27
CN110928780B true CN110928780B (zh) 2023-12-15

Family

ID=69853574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911134128.6A Active CN110928780B (zh) 2019-11-19 2019-11-19 一种代码质量控制方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110928780B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656316A (zh) * 2021-08-20 2021-11-16 上海通联金融服务有限公司 一种基于Jenkins+Sonar实现Java项目的编译和扫描方法
CN113722221A (zh) * 2021-08-30 2021-11-30 四川虹美智能科技有限公司 一种对源码自动检测入库的方法和装置
CN115599695A (zh) * 2022-11-04 2023-01-13 广州嘉为科技有限公司(Cn) 基于流水线代码扫描的质量红线拦截方法、装置及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636252A (zh) * 2015-01-04 2015-05-20 浪潮软件股份有限公司 基于SonarQube的在线代码审核方法和系统
CN109241735A (zh) * 2018-09-27 2019-01-18 四川长虹电器股份有限公司 一种基于漏洞扫描平台的持续集成方法
US10235166B1 (en) * 2018-10-02 2019-03-19 Capital One Services, Llc Code quality evaluation and user interfaces
CN109542769A (zh) * 2018-10-25 2019-03-29 武汉精立电子技术有限公司 一种持续集成的自动化测试方法
CN109684215A (zh) * 2018-12-25 2019-04-26 中国科学院电子学研究所苏州研究院 一种自动化软件系统质量检查和快速迭代方法
CN109857630A (zh) * 2017-11-30 2019-06-07 阿里巴巴集团控股有限公司 代码检测方法、系统及设备
CN110457902A (zh) * 2019-06-25 2019-11-15 平安银行股份有限公司 银行系统的静态源代码扫描方法、装置及计算机存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636252A (zh) * 2015-01-04 2015-05-20 浪潮软件股份有限公司 基于SonarQube的在线代码审核方法和系统
CN109857630A (zh) * 2017-11-30 2019-06-07 阿里巴巴集团控股有限公司 代码检测方法、系统及设备
CN109241735A (zh) * 2018-09-27 2019-01-18 四川长虹电器股份有限公司 一种基于漏洞扫描平台的持续集成方法
US10235166B1 (en) * 2018-10-02 2019-03-19 Capital One Services, Llc Code quality evaluation and user interfaces
CN109542769A (zh) * 2018-10-25 2019-03-29 武汉精立电子技术有限公司 一种持续集成的自动化测试方法
CN109684215A (zh) * 2018-12-25 2019-04-26 中国科学院电子学研究所苏州研究院 一种自动化软件系统质量检查和快速迭代方法
CN110457902A (zh) * 2019-06-25 2019-11-15 平安银行股份有限公司 银行系统的静态源代码扫描方法、装置及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于SonarQube平台提升企业软件项目质量的应用研究;曾新励;;电脑知识与技术(第11期);全文 *

Also Published As

Publication number Publication date
CN110928780A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN110928780B (zh) 一种代码质量控制方法、装置、计算机设备及存储介质
US9898269B2 (en) Build deployment automation for information technology mangement
CN111381825B (zh) 一种小程序的生成方法和装置
CN104077140A (zh) 用于持续集成的自动化编译方法和编译装置
US20080276221A1 (en) Method and apparatus for relations planning and validation
CN103294514A (zh) 系统软件版本集成方法、编译服务器及系统
US11113050B2 (en) Application architecture generation
CN111610978A (zh) 一种小程序转换方法、装置、设备及存储介质
CN112527815A (zh) 数据库的脚本迁移方法、装置、计算机设备和存储介质
CN111984228B (zh) 一种接口文档的处理方法、装置、计算机设备和存储介质
CN108958753B (zh) 一种代码打包部署方法及装置
CN110908670A (zh) 一种自动发布服务的方法及装置
CN107704256B (zh) 一种Ubuntu上实现Python依赖系统库自动化安装的方法
CN116069325A (zh) 前端项目构建方法、装置、设备及计算机可读存储介质
CN107122182B (zh) 一种代码构建和发布的方法及系统
Di Ruscio et al. Managing the coupled evolution of metamodels and textual concrete syntax specifications
US7437705B1 (en) System and method for building an application on a computing device which includes an environment-controlling process
CN111459492A (zh) Dubbo服务接口兼容性检测方法、装置、存储介质及设备
CN110321138B (zh) 一种程序更新、迁移方法和装置
CN116225415A (zh) 一种前端工程化方法及系统
CN110990833A (zh) 一种sdk安全检测方法及相关设备
CN115794214A (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN115437643A (zh) 项目代码转换方法、装置、设备及存储介质
CN113126998B (zh) 一种增量源码获取方法、装置、电子设备及存储介质
CN114020285A (zh) 一种工业app运行方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant