증거 요약

증거 요약은 아티팩트 세트와 관련된 증거 조각의 콜렉션을 참조합니다. 파이프라인은 현재 두 가지 접근 방식을 사용하여 증거를 수집하고 요약합니다 ( v1v2). 의도는 v1v2 로 대체되는 것입니다.

v2 증거 콜렉션

증거 로커는 자산, _증거_및 _첨부_의 세 가지 유형의 엔티티를 저장합니다. 자세한 정보는 v2 증거 형식 을 참조하십시오.

자산(Asset)

자산은 저장소의 Git 커미트 또는 Docker 이미지와 같이 테스트하고 스캔할 수 있는 항목을 나타냅니다.

증거

증거는 스캔 또는 테스트의 결과를 나타냅니다. 증거는 항상 하나 이상의 단일 자산에 연결됩니다. 여러 자산이 허용됩니다. 예를 들어, 단일 엔드-투-엔드 테스트 스위트는 여러 자산을 함께 테스트할 수 있습니다.

연결

첨부사항은 증거에 첨부할 수 있는 임의의 데이터입니다. 일반적으로 스캔 또는 테스트를 수행한 도구의 원시 출력입니다.

증거 수집

collect-evidence 스크립트를 사용하여 증거를 수집하십시오.

증거 요약

v1 와 대조적으로 v2 증거는 플랫 계층 구조에 저장되며, 여기서 각 증거 조각은 자체 해시로 식별됩니다. 이 해시는 무결성 보호 계층을 제공합니다. 즉, 증거 컨텐츠의 수정을 발견할 수 있습니다. 각 증거가 하나 이상의 자산과 관련되어 있으므로 증거 요약 알고리즘은 자산을 기반으로 관련 증거를 발견합니다 ( v1 의 파이프라인 실행 ID와 반대).

다음을 기반으로 증거가 요약됩니다.

  • 파이프라인 실행 ID: 증거는 파이프라인 실행 ID를 기반으로 범위가 지정됩니다. 범위 지정은 증거의 컨텍스트를 설정합니다.
  • 자산: 자산은 엄격한 테스트 및 스캔의 대상이 되는 기본 엔티티입니다. 이러한 자산은 Docker 이미지에 대한 저장소의 기존 Git 커미트와 같은 다양한 양식을 포함합니다.

CI 파이프라인에서 다음을 기반으로 증거가 요약됩니다.

  • 범위는 증거 요약에 대한 현재 CI 실행pipeline_run_id 입니다.
  • 자산 목록은 해당 실행에서 저장된 모든 아티팩트를 나열하는 list_artifact 명령을 사용하여 계산됩니다.

CD 파이프라인에서 다음을 기반으로 증거가 요약됩니다.

  • 각 자원 명세 항목의 provenance 필드는 요약의 asset 역할을 합니다. 세 가지 유형의 자산 목록이 있습니다.

    • 델타 자산 목록: 배치 환경의 마지막 배치에서 수정된 자산입니다.
    • 비델타 자산 목록: 배치 환경의 마지막 배치에서 수정되지 않은 자산입니다.
    • 전체 자산 목록: 배치 환경에 대응하는 모든 인벤토리 항목의 자산입니다.
  • 각 자원 명세 항목의 pipeline_run_id 필드는 요약의 scope 역할을 합니다.

    • 재고 항목의 pipeline_run_id 에서 읽은 CI 범위입니다.
    • 현재 pipeline_run_id 를 CD 파이프라인 범위로 사용합니다.

CC 파이프라인에서 다음을 기반으로 증거가 요약됩니다.

  • 각 자원 명세 항목의 provenance 필드를 요약을 위한 asset 로 지정합니다. 배치된 환경의 최신 항목과 일치하는 모든 재고 항목의 자산입니다.

  • 각 자원 명세 항목의 pipeline_run_id 필드는 요약의 scope 역할을 합니다.

    • 재고 항목의 pipeline_run_id 에서 읽은 CI 범위입니다.
    • 자원 명세 종결 에서 작성된 CD-pipeline_run_id 태그에서 읽은 CD 범위입니다.
    • CC 파이프라인 범위로서의 현재 pipeline_run_id 입니다.

자세한 정보는 인벤토리 를 참조하십시오. 프리프로덕션 증거를 기반으로 하는 prod 요약에 대한 자세한 정보는 증거 요약 수집 을 참조하십시오.

v2 증거 요약은 기본적으로 계산됩니다.