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 檔案
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 或更新版本 |
工作類別 | 測試 |