ContainerStructureTest@0 - 컨테이너 구조 테스트 v0 작업
컨테이너 구조 테스트(https://github.com/GoogleContainerTools/container-structure-test)를 사용하여 명령 테스트, 파일 존재 테스트, 파일 콘텐츠 테스트 및 메타데이터 테스트의 네 가지 범주를 기반으로 이미지 구조의 유효성을 검사합니다.
구문론
# 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
-
구성 파일 경로
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
테스트 보고서 보기
작업이 실행되면 테스트 탭으로 직접 이동하여 전체 보고서를 볼 수 있습니다. 게시된 테스트 결과는 파이프라인 요약의 테스트 탭 표시되며 파이프라인 품질을 측정하고, 추적 가능성을 검토하고, 오류를 해결하고, 오류 소유권을 구동하는 데 도움이 됩니다.