ContainerStructureTest@0 - コンテナー構造テスト v0 タスク
コンテナー構造テスト (https://github.com/GoogleContainerTools/container-structure-test) を使用して、コマンド テスト、ファイル存在テスト、ファイル コンテンツ テスト、メタデータ テストの 4 つのカテゴリに基づいてイメージの構造を検証します。
構文
# Container Structure Test v0
# Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
- task: ContainerStructureTest@0
inputs:
# Container Repository
dockerRegistryServiceConnection: # string. Required. Docker registry service connection.
repository: # string. Required. Container repository.
#tag: '$(Build.BuildId)' # string. Tag. Default: $(Build.BuildId).
configFile: # string. Required. Config file path.
#testRunTitle: # string. Test run title.
#failTaskOnFailedTests: false # boolean. Fail task if there are test failures. Default: false.
入力
Docker レジストリ サービス接続を dockerRegistryServiceConnection
- する
string
. 必須。
Docker レジストリ サービス接続を指定します。 レジストリで認証する必要があるコマンドに必要です。
repository
-
コンテナー リポジトリの
string
. 必須。
リポジトリの名前。
tag
-
タグの
string
. 既定値: $(Build.BuildId)
.
このタグは、Docker レジストリ サービス接続からイメージをプルする場合に使用されます。
configFile
-
Config ファイル パス
string
. 必須。
.yaml または .json ファイル形式のコンテナー構造テストを含む構成ファイル パス。
testRunTitle
-
テストの実行タイトル
string
.
テスト実行の名前を指定します。
failTaskOnFailedTests
-
テストエラーが発生した場合の失敗タスク
boolean
. 既定値: false
.
テストエラーが発生した場合、タスクは失敗します。 テストの失敗が検出された場合にタスクを失敗させる場合は、このオプションをオンにします。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
なし。
注釈
このタスクは、コンテナー構造テストを実行し、テスト結果を Azure Pipelines に発行するのに役立ち、包括的なテスト レポートと分析エクスペリエンスを提供します。
注
これは早期プレビュー機能です。 今後のスプリントでは、今後の機能がロールアウトされます。
コンテナー構造テストは、コンテナー イメージの構造を検証するための強力なフレームワークを提供します。 これらのテストを使用して、イメージ内のコマンドの出力を確認したり、ファイル システムのメタデータと内容を確認したりできます。 テストは、スタンドアロン バイナリまたは Docker イメージを使用して実行できます。
このフレームワーク内のテストは、YAML または JSON 構成ファイルを使用して指定されます。 1 回のテスト実行で複数の構成ファイルを指定できます。 構成ファイルはテスト ランナーによって読み込まれ、テストが順番に実行されます。 この構成ファイル内では、次の 4 種類のテストを記述できます。
- コマンド テスト (発行された特定のコマンドの出力/エラーのテスト)
- ファイル存在テスト (イメージのファイル システムにファイルが存在するか、存在しないことを確認する)
- ファイル コンテンツ テスト (イメージのファイル システム内のファイルに特定のコンテンツが含まれているか、含まれていないか確認する)
- メタデータ テスト、単数形 (特定のコンテナー メタデータが正しいことを確認する)
テストのビルド、テスト、発行
コンテナー構造テスト タスクは、クラシック パイプラインと、YAML ベースのパイプライン & 統合パイプライン (マルチステージ) に追加できます。
新しい YAML ベースの統合パイプラインでは、ウィンドウでタスクを検索できます。
統合パイプライン
タスクが追加されたら、必要に応じて、構成ファイル パス、docker registory サービス接続、コンテナー リポジトリ、タグを設定する必要があります。 yaml ベースのパイプラインにタスク入力が作成されます。
YAML ベースのパイプライン
YAML ファイル
YAML ファイルする
steps:
- task: ContainerStructureTest@0
displayName: 'Container Structure Test '
inputs:
dockerRegistryServiceConnection: 'Container_dockerHub'
repository: adma/hellodocker
tag: v1
configFile: /home/user/cstfiles/fileexisttest.yaml
テスト レポートを表示する
タスクが実行されたら、テスト タブに直接移動して完全なレポートを表示できます。 発行されたテスト結果は、パイプラインの概要の [テスト] タブに表示され、パイプラインの品質の測定、追跡可能性の確認、エラーのトラブルシューティング、障害の所有権の推進に役立ちます。