IBM Cloud Docs
发布 DevOps Insights 的测试数据

发布 DevOps Insights 的测试数据

用户可以通过任何持续集成和持续交付 (CI/CD) 工具将测试结果上传到 IBM Cloud® DevOps Insights,然后在 DevOps Insights“质量仪表板”页面中查看所有这些测试结果。 CI/CD 工具是指用于创建构建、运行测试和执行部署的工具,如 Jenkins、Travis CI 和 IBM® Continuous Delivery Pipeline for IBM Cloud®。

有关“质量仪表板”页面的更多信息,请参阅 DevOps 数据聚集

DevOps Insights 中支持的测试数据格式

下表显示了支持的测试和格式的列表。

默认DevOps Insights数据集
显示标签 数据类型 支持的数据格式和文件扩展名
单元测试 测试用例 JUnit (JSON)、xUnit (xml)、Mocha (JSON)、KarmaMocha (JSON)
代码覆盖 代码覆盖 Cobertura (xml), lcov (info),JaCoCo(xml)
功能验证测试 测试用例 JUnit (JSON)、xUnit (xml)、Mocha (JSON)、KarmaMocha (JSON)
SonarQube SonarQube SonarQube
动态安全扫描 动态安全扫描 IBM Cloud® 应用程序安全 (xml)
静态安全扫描 静态安全扫描 IBM Cloud® 应用程序安全 (xml)
Vulnerability Advisor Vulnerability Advisor Vulnerability Advisor (JSON)

上传测试用例结果

要上传单元测试、功能验证测试或定制测试数据,请使用以下命令:

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./test-sample-folder/unit_test_mocha.json" --type=unittest

有关您可以上传到DevOps Insights 的测试结果文件示例,请参阅 GitHub存储库中的虚拟数据

上传代码覆盖结果

要上传代码覆盖结果或定制代码数据,请使用以下命令:

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./test-sample-folder/code_coverage_cobertura.xml" --type=code

有关您可以上传到DevOps Insights 的测试结果文件示例,请参阅 GitHub存储库中的虚拟数据

上传 IBM 应用程序扫描报告

用户可以通过 IBM AppScan CLI 工具来获取报告。 在 CLI 中扫描应用程序后,可获取压缩文件格式的结果。

appscan.sh get_result -i $job_id -d "$APPSCAN_SCAN_NAME.zip" -t zip

将结果解压缩到一个文件夹中,并转至该文件夹,然后上传名为 Report-final.xml 的文件。

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./Report-final.xml" --type staticsecurityscan

如果报告来自动态扫描,请将 type 更改为 dynamicsecurityscan

上传 SonarQube 结果

要从 SonarQube 上传数据,您必须使用 --token 提供 SonarQube 服务器令牌。 SonarQube 服务器必须可通过 CI/CD 工具进行访问。

使用 SonarQube 运行扫描后,可以通过运行以下命令来上传 SonarQube 结果。

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation ".scannerwork/report-task.txt" --type=sonarqube --token=$SONARQUBE_TOKEN

report-task.txt 是 SonarQube 扫描期间生成的文件。

上传 IBM Vulnerability Advisorability Advisor 结果

要通过 CLI 获取 Vulnerability Advisor 扫描的结果,请使用以下命令:

ibmcloud cr va ${PIPELINE_IMAGE_URL} -o json > vulnerability_advisor.json

您可以通过Vulnerability AdvisorUI 或 CLI 使用 "ibmcloud cr image-list 获取图片的存储库和标签。DevOps Insights只接受 JSON 输出。 可以通过运行以下命令,将 Vulnerability Advisor 输出文件上传到 DevOps Insights。

ibmcloud doi testrecord-publish --logicalappname "${APP_NAME}" --buildnumber "${BUILD_NUMBER}" --filelocation "vulnerability_advisor.json" --type vulnerabilityadvisor