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
테스트 보고서 보기
작업이 실행되면 테스트 탭으로 직접 이동하여 전체 보고서를 볼 수 있습니다. 게시된 테스트 결과는 파이프라인 요약의 테스트 탭 에 표시되며 파이프라인 품질을 측정하고, 추적 가능성을 검토하고, 오류를 해결하고, 오류 소유권을 구동하는 데 도움이 됩니다.
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
설정 가능한 변수 | 모두 |
에이전트 버전 | 2.144.0 이상 |
작업 범주 | 테스트 |
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
설정 가능한 변수 | 모두 |
에이전트 버전 | 2.0.0 이상 |
작업 범주 | 테스트 |