ContainerStructureTest@0 - 容器結構測試 v0 工作

使用 container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) ,根據四種測試類別來驗證映像的結構- 命令測試、檔案存在測試、檔案內容測試和元數據測試。

Syntax

# 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 組態檔來指定。 可以在單一測試回合中指定多個組態檔。 測試執行器將會載入組態檔,以順序執行測試。 在這裡組態檔中,可以撰寫四種類型的測試:

  • 命令測試 (測試所發出特定命令的輸出/錯誤)
  • 檔案存在測試 (確定檔案存在於映像的文件系統中)
  • 檔案內容測試 (確定映像檔案系統中的檔案包含或不包含特定內容)
  • 元數據測試,單一 (確定特定容器元數據正確)

建置、測試和發佈測試

容器結構測試工作可以新增至傳統管線,以及在整合的管線中, (多階段) & 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、傳統組建、傳統版本
在上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任何
可設定變數 任何
代理程式版本 2.144.0 或更新版本
工作類別 測試
需求 描述
管線類型 YAML、傳統組建、傳統版本
在上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任何
可設定變數 任何
代理程式版本 2.0.0 或更新版本
工作類別 測試