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® Application Security (xml) |
静的セキュリティー・スキャン | 静的セキュリティー・スキャン | IBM Cloud® Application Security (xml) |
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 Application Scan レポートのアップロード
IBM AppScan CLI ツールからレポートを取得できます。 CLI からアプリケーションをスキャンし、結果を圧縮ファイル形式で取得します。
appscan.sh get_result -i $job_id -d "$APPSCAN_SCAN_NAME.zip" -t zip
結果をいずれかのフォルダーに unzip してから、そのフォルダーを開き、Report-final.xml というファイルをアップロードします。
ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./Report-final.xml" --type staticsecurityscan
レポートが動的スキャンの結果の場合は、タイプを dynamicsecurityscan
に変更します。
SonarQube 結果のアップロード
SonarQube のデータをアップロードするには、SonarQube サーバーのトークンを --token
で指定しなければなりません。 使用する 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 脆弱性アドバイザーの結果のアップロード
CLI から脆弱性アドバイザーのスキャン結果を取得するには、次のコマンドを使用します。
ibmcloud cr va ${PIPELINE_IMAGE_URL} -o json > vulnerability_advisor.json
イメージのリポジトリーとタグは、脆弱性アドバイザー UI から、または CLI で ibmcloud cr image-list
を使用して取得できます。 DevOps Insights は JSON 出力のみ受け入れます。 次のコマンドを実行して、脆弱性アドバイザー出力ファイルを DevOps Insights にアップロードできます。
ibmcloud doi testrecord-publish --logicalappname "${APP_NAME}" --buildnumber "${BUILD_NUMBER}" --filelocation "vulnerability_advisor.json" --type vulnerabilityadvisor