다음을 통해 공유


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

테스트 보고서 보기

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

테스트 보고 페이지

요구 사항

요구 사항 설명
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 없음
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어느 것이든
settable 변수 어느 것이든
에이전트 버전 2.144.0 이상
작업 범주 테스트
요구 사항 설명
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 없음
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어느 것이든
settable 변수 어느 것이든
에이전트 버전 2.0.0 이상
작업 범주 테스트