다음을 통해 공유


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

테스트 보고서 보기

작업이 실행되면 테스트 탭으로 직접 이동하여 전체 보고서를 볼 수 있습니다. 게시된 테스트 결과는 파이프라인 요약의 테스트 탭 에 표시되며 파이프라인 품질을 측정하고, 추적 가능성을 검토하고, 오류를 해결하고, 오류 소유권을 구동하는 데 도움이 됩니다.

테스트 보고 페이지

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.144.0 이상
작업 범주 테스트
요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 없음
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
설정 가능한 변수 모두
에이전트 버전 2.0.0 이상
작업 범주 테스트