发布 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 中支持的测试数据格式
下表显示了支持的测试和格式的列表。
显示标签 | 数据类型 | 支持的数据格式和文件扩展名 |
---|---|---|
单元测试 | 测试用例 | 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