苍穹ISV产品使用Devops生态平台进行代码包扫描教程
金蝶云社区-独自演绎
独自演绎
1人赞赏了该文章 535次浏览 未经作者许可,禁止转载编辑于2021年12月16日 16:47:13

一. 功能描述
代码包扫描是提供给伙伴产品上架前,进行的源代码扫描,通过sonarqube扫描源代码,通过条件为Bug和漏洞数量清零
二. 操作步骤

  1. 在devops平台https://ecodevops.kingdee.com/ 访问持续发布->代码扫描->代码包扫描。如下图:

  2. 新增记录,选择构建代码包的苍穹版本,尽可能选择版本跟本地开发版本一致,避免因版本不一致而导致的编译失败,若没有您的苍穹版本,请联系我们补充版本记录。

    参数说明:
    苍穹补丁版本:选择最接近您本地的苍穹版本。
    代码包:上传java项目工程,包含工程名称,支持zip文件
    构建jar包:第三方包,若引用了非苍穹提供的第三方包,需要将第三方包一并上传,作为构建依赖的基础。支持zip文件

  3. 保存即会进入到任务后台,自动进行代码扫描。可在列表页面,刷新获取扫描结果。
    若扫描结果为异常,表示扫描出错,需要查看日志分析失败的原因,
    若扫描结果为质量不过关,表示扫描最终结果有bug或漏洞,点击查看日志,跳转到sonarqube平台,查看bug和漏洞并进行修复,修复完成后,再上传扫描即可。


    1. 若扫描结果为质量达标,则表示质量过关。

  4. 扫描质量过关之后,点击查看日志跳到sonarqube平台,下载pdf文件。

三. 常见问题

  1. 扫描报包不存在,引入类异常,如下图:

    可能原因:1. 若是报方法调用不对,那可能是苍穹版本不对应引起。2. 若是报import的错误,那可能是build.gradle引入包的时机不对,需要改成compile

  2. 扫描提示sonarqube不存在。如下图:

    原因:gradle工程引用sonarqube,需要将sonarqube模块配置到build.gradle中,所以需要在build.gradle的最前面,引入以下内容。若是复杂的gradle工程,可百度搜下如何加入sonarqube。


    1. buildscript {

    2. repositories {

    3.       maven { url "http://maven.aliyun.com/nexus/content/groups/public" }

    4.       mavenLocal()

    5.           mavenCentral()

    6. }

    7. dependencies {

    8.     classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6"

    9.    }

    10. }

    11. apply plugin: 'org.sonarqube'

  3. 执行扫描日志提示第三方包报错,但是第三方包已经上传了。

    原因:使用eclipse或idea开发项目,习惯在eclipse或idea,直接引入第三方包。但是gradle本身并没有引入这些第三方包。需要在build.gradle中声明第三方包,并引入。


本文转载自:Devops生态平台用户指引

作者:Devops生态平台

原文链接:https://kdcrp.kingdee.com/web/#/9?page_id=103

赞 1