ContainerStructureTest@0 - コンテナー構造テスト v0 タスク
container-structure-test (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.
入力
dockerRegistryServiceConnection
- Docker レジストリ サービス接続
string
. 必須です。
Docker レジストリ サービス接続を指定します。 レジストリで認証する必要があるコマンドでは必須です。
repository
- コンテナー リポジトリ
string
. 必須です。
リポジトリの名前。
tag
- タグ
string
. 既定値: $(Build.BuildId)
。
タグは、Docker レジストリ サービス接続からイメージをプルする場合に使用されます。
configFile
- 構成ファイルのパス
string
. 必須です。
.yaml または .json ファイル形式のコンテナー構造テストを含む構成ファイル パス。
testRunTitle
- テスト実行のタイトル
string
.
テスト実行の名前を指定します。
failTaskOnFailedTests
- テストエラーがある場合の失敗タスク
boolean
. 既定値: false
。
テストエラーがある場合は、タスクを失敗させます。 テストエラーが検出された場合は、このオプションをオンにしてタスクを失敗させます。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
このタスクは、コンテナー構造テストを実行し、テスト結果を Azure Pipelines に発行し、包括的なテスト レポートと分析エクスペリエンスを提供するのに役立ちます。
注意
これは早期プレビュー機能です。 今後の機能は、今後のスプリントでロールアウトされる予定です。
コンテナー構造テストは、コンテナー イメージの構造を検証するための強力なフレームワークを提供します。 これらのテストを使用すると、イメージ内のコマンドの出力をチェックしたり、ファイル システムのメタデータと内容を検証したりできます。 テストは、スタンドアロン バイナリまたは Docker イメージを使用して実行できます。
このフレームワーク内のテストは、YAML または JSON 構成ファイルを使用して指定されます。 1 回のテスト実行で複数の構成ファイルを指定できます。 構成ファイルはテスト ランナーによって読み込まれ、テストが順番に実行されます。 この構成ファイル内では、次の 4 種類のテストを記述できます。
- コマンド テスト (発行された特定のコマンドの出力/エラーのテスト)
- ファイルの存在テスト (ファイルがイメージのファイル システムに存在するか、存在しないことを確認する)
- ファイル コンテンツ テスト (イメージのファイル システム内のファイルに特定のコンテンツが含まれているか、含まれていないか確認する)
- メタデータ テスト、単数形 (特定のコンテナー メタデータが正しいことを確認する)
テストのビルド、テスト、発行
コンテナー構造テスト タスクは、クラシック パイプラインと、YAML ベースのパイプライン & 統合パイプライン (マルチステージ) に追加できます。
新しい YAML ベースの統合パイプラインでは、ウィンドウでタスクを検索できます。
タスクが追加されたら、必要に応じて、構成ファイルパス、docker registory サービス接続、コンテナー リポジトリ、タグを設定する必要があります。 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
テスト レポートを表示する
タスクが実行されたら、テスト タブに直接移動して、完全なレポートを表示できます。 発行されたテスト結果は、パイプラインの概要の [テスト] タブ に表示され、パイプラインの品質の測定、追跡可能性の確認、エラーのトラブルシューティング、エラーの所有権の促進に役立ちます。
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
上で実行 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.144.0 以降 |
タスクのカテゴリ | テスト |
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
上で実行 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.0.0 以上 |
タスクのカテゴリ | テスト |