次の方法で共有


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

テスト レポートを表示する

タスクが実行されたら、テスト タブに直接移動して完全なレポートを表示できます。 発行されたテスト結果は、パイプラインの概要の [テスト] タブに表示され、パイプラインの品質の測定、追跡可能性の確認、エラーのトラブルシューティング、障害の所有権の推進に役立ちます。

テスト レポート ページの

必要条件

要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 なし
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 2.144.0 以上
タスク カテゴリ テスト
要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
実行日 エージェント、DeploymentGroup
の需要 なし
機能の このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 どれでも
設定可能な変数 どれでも
エージェントのバージョン 2.0.0 以上
タスク カテゴリ テスト