빌드 및 테스트 작업 YAML - Amazon CodeCatalyst

빌드 및 테스트 작업 YAML

다음은 빌드 및 테스트 작업의 YAML 정의입니다. YAML 속성이 매우 유사하기 때문에 두 작업에 대한 참조가 하나 있습니다.

이 작업 정의는 더 광범위한 워크플로 정의 파일 내의 섹션으로 존재합니다. 이 파일에 대한 자세한 내용은 워크플로 YAML 정의을 참조합니다.

다음 코드에서 YAML 속성을 선택하면 설명이 표시됩니다.

참고

이어지는 대부분의 YAML 속성에는 시각적 편집기에 해당 UI 요소가 있습니다. UI 요소를 찾으려면 Ctrl+F를 사용합니다. 요소가 연결된 YAML 속성과 함께 나열됩니다.

# The workflow definition starts here. # See 최상위 속성 for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. action-name: Identifier: aws/build@v1 | aws/managed-test@v1 DependsOn: - dependent-action-name-1 Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Caching: FileCaching: key-name-1: Path: file1.txt RestoreKeys: - restore-key-1 Inputs: Sources: - source-name-1 - source-name-2 Artifacts: - artifact-name Variables: - Name: variable-name-1 Value: variable-value-1 - Name: variable-name-2 Value: variable-value-2 Outputs: Artifacts: - Name: output-artifact-1 Files: - build-output/artifact-1.jar - "build-output/build*" - Name: output-artifact-2 Files: - build-output/artifact-2.1.jar - build-output/artifact-2.2.jar Variables: - variable-name-1 - variable-name-2 AutoDiscoverReports: Enabled: true | false ReportNamePrefix: AutoDiscovered IncludePaths: - "**/*" ExcludePaths: - node_modules/cdk/junit.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Reports: report-name-1: Format: format IncludePaths: - "*.xml" ExcludePaths: - report2.xml - report3.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Configuration: Container: Registry: registry Image: image Steps: - Run: "step 1" - Run: "step 2" Packages: NpmConfiguration: PackageRegistries: - PackagesRepository: package-repository Scopes: - "@scope" ExportAuthorizationToken: true | false

action-name

(필수)

작업 이름을 지정합니다. 워크플로 내의 모든 작업 이름은 고유해야 합니다. 작업 이름은 영숫자 문자(a-z, A-Z, 0-9), 하이픈(-) 및 밑줄(_)로 제한됩니다. 공백은 허용되지 않습니다. 작업 이름에서 특수 문자와 공백을 활성화하는 데 따옴표를 사용할 수 없습니다.

해당 UI: 구성 탭/작업 이름

Identifier

(action-name/Identifier)

작업을 식별합니다. 버전을 변경하려는 경우가 아니면 이 속성을 변경하지 마세요. 자세한 내용은 사용할 작업 버전 지정 섹션을 참조하십시오.

빌드 작업에 aws/build@v1를 사용합니다.

테스트 작업에 aws/managed-test@v1를 사용합니다.

해당 UI: 워크플로 다이어그램/Action-name/aws/build@v1|aws/managed-test@v1 레이블

DependsOn

(action-name /DependsOn)

(선택 사항)

이 작업을 실행하기 위해 성공적으로 실행해야 하는 작업, 작업 그룹 또는 게이트를 지정합니다.

'depends on' 함수에 대한 자세한 내용은 작업 순서 지정 섹션을 참조하세요.

해당 UI: 입력 탭/의존 - 선택 사항

Compute

(action-name/Compute)

(선택 사항)

워크플로 작업을 실행하는 데 사용되는 컴퓨팅 엔진입니다. 워크플로 수준 또는 작업 수준에서 컴퓨팅을 지정할 수 있지만 둘 다 지정할 수는 없습니다. 워크플로 수준에서 지정하면 컴퓨팅 구성이 워크플로에 정의된 모든 작업에 적용됩니다. 워크플로 수준에서는 동일한 인스턴스에서 여러 작업을 실행할 수도 있습니다. 자세한 내용은 작업 간에 컴퓨팅 공유 섹션을 참조하십시오.

해당 UI: 없음

Type

(action-name/Compute/Type)

(Compute 포함 시 필수)

컴퓨팅 엔진의 유형입니다. 다음 값 중 하나를 사용할 수 있습니다.

  • EC2(시각 편집기) 또는 EC2(YAML 편집기)

    작업 실행 중 유연성을 위해 최적화되었습니다.

  • Lambda(시각 편집기) 또는 Lambda(YAML 편집기)

    작업 시작 속도를 최적화했습니다.

컴퓨팅 유형에 대한 자세한 정보는 컴퓨팅 유형을 참고하세요.

해당 UI: 구성 탭/컴퓨팅 유형

Fleet

(action-name/Compute/Fleet)

(선택 사항)

워크플로 또는 워크플로 작업을 실행할 시스템 또는 플릿을 지정합니다. 온디맨드 플릿의 경우 작업이 시작되면 워크플로가 필요한 리소스를 프로비저닝하고 작업이 완료되면 시스템이 파괴됩니다. 온디맨드 플릿의 예시: Linux.x86-64.Large, Linux.x86-64.XLarge. 온디맨드 플릿에 대한 자세한 내용은 온디맨드 플릿 속성 섹션을 참조하세요.

프로비저닝된 플릿을 사용하면 워크플로 작업을 실행하도록 전용 시스템 세트를 구성할 수 있습니다. 이러한 시스템은 유휴 상태로 유지되므로 작업을 즉시 처리할 수 있습니다. 프로비저닝된 플릿에 대한 자세한 내용은 프로비저닝된 플릿 속성 섹션을 참조하세요.

Fleet 생략 시 기본값은 Linux.x86-64.Large입니다.

해당 UI: 구성 탭/컴퓨팅 플릿

Timeout

(action-name/Timeout)

(선택 사항)

CodeCatalyst가 작업을 종료하기 전에 작업을 실행할 수 있는 시간을 분(YAML 편집기) 또는 시간 및 분(시각적 편집기) 단위로 지정합니다. 최소값은 5분이고 최대값은 CodeCatalyst의 워크플로 할당량에 설명되어 있습니다. 기본 제한 시간은 최대 제한 시간과 동일합니다.

해당 UI: 구성 탭/제한 시간 - 선택 사항

Environment

(action-name/Environment)

(선택 사항)

작업에 사용할 CodeCatalyst 환경을 지정합니다. 작업은 선택한 환경에 지정된 AWS 계정 및 선택적 Amazon VPC에 연결됩니다. 작업은 환경에 지정된 기본 IAM 역할을 사용하여 AWS 계정에 연결하고 Amazon VPC 연결에 지정된 IAM 역할을 사용하여 Amazon VPC에 연결합니다.

참고

기본 IAM 역할에 작업에 필요한 권한이 없는 경우 다른 역할을 사용하도록 작업을 구성할 수 있습니다. 자세한 내용은 작업의 IAM 역할 변경 섹션을 참조하십시오.

환경에 대한 자세한 내용은 AWS 계정 및 VPC에 배포환경 생성 섹션을 참조하세요.

해당 UI: 구성 탭/환경

Name

(action-name/Environment/Name)

(선택 사항)

작업과 연결하려는 기존 환경의 이름을 지정합니다.

해당 UI: 구성 탭/환경

Connections

(action-name/Environment/Connections)

(선택 사항)

작업과 연결할 계정 연결을 지정합니다. Environment에서 계정 연결을 최대 1개까지 지정할 수 있습니다.

계정 연결을 지정하지 않는 경우:

  • 이 작업은 CodeCatalyst 콘솔의 환경에 지정된 AWS 계정 연결 및 기본 IAM 역할을 사용합니다. 환경에 계정 연결 및 기본 IAM 역할을 추가하는 방법에 대한 자세한 내용은 환경 생성 섹션을 참조하세요.

  • 기본 IAM 역할에는 작업에 필요한 정책 및 권한이 포함되어야 합니다. 이러한 정책 및 권한이 무엇인지 확인하려면 작업의 YAML 정의 설명서에서 역할 속성에 대한 설명을 참조하세요.

계정 연결에 대한 자세한 정보는 연결된 AWS 계정로 AWS 리소스에 대한 액세스 허용 섹션을 참조하세요. 환경에 계정 연결을 추가하는 방법에 대한 자세한 내용은 환경 생성 섹션을 참조하세요.

해당 UI: 구성 탭/환경/내 환경의 내용/점 3개 메뉴/역할 전환

Name

(action-name/Environment/Connections/Name)

(Connections 포함 시 필수)

계정 연결의 이름을 지정합니다.

해당 UI: 구성 탭/환경/내 환경의 내용/점 3개 메뉴/역할 전환

Role

(action-name/Environment/Connections/Role)

(Connections 포함 시 필수)

Amazon S3 및 Amazon ECR과 같은 AWS 서비스에 액세스하고 운영하기 위해 이 작업이 사용하는 IAM 역할의 이름을 지정합니다. 이 역할이 스페이스의 AWS 계정 연결에 추가되었는지 확인합니다. 계정 연결에 IAM 역할을 추가하려면 계정 연결에 IAM 역할 추가 섹션을 참조하세요.

IAM 역할을 지정하지 않으면 작업은 CodeCatalyst 콘솔의 환경에 나열된 기본 IAM 역할을 사용합니다. 환경에서 기본 역할을 사용하는 경우 다음 정책이 있는지 확인합니다.

참고

이 작업에서 CodeCatalystWorkflowDevelopmentRole-spaceName 역할을 사용할 수 있습니다. 이에 대한 자세한 내용은 계정 및 스페이스의 CodeCatalystWorkflowDevelopmentRole-spaceName 역할 생성 섹션을 참조하세요. CodeCatalystWorkflowDevelopmentRole-spaceName 역할에 보안 위험을 초래할 수 있는 전체 액세스 권한이 있음을 이해합니다. 보안에 대한 우려가 적은 자습서 및 시나리오에서만 이 역할을 사용하는 것이 좋습니다.

주의

빌드 및 테스트 작업에 필요한 권한으로 권한을 제한합니다. 더 광범위한 권한을 가진 역할을 사용하면 보안 위험이 발생할 수 있습니다.

해당 UI: 구성 탭/환경/내 환경의 내용/점 3개 메뉴/역할 전환

Caching

(action-name/Caching)

(선택 사항)

캐시를 지정하여 디스크 파일을 저장하고 후속 워크플로 실행 시 해당 캐시에서 복원할 수 있는 섹션입니다.

파일 캐싱에 대한 자세한 정보는 워크플로 실행 간 파일 캐싱을 참조하세요.

해당 UI: 구성 탭/파일 캐싱 - 선택 사항

FileCaching

(action-name/Caching/FileCaching)

(선택 사항)

캐시 시퀀스의 구성을 지정하는 섹션입니다.

해당 UI: 구성 탭/파일 캐싱 - 선택적/캐시 추가

key-name-1

(action-name/Caching/FileCaching/key-name-1)

(선택 사항)

기본 캐시 속성 이름의 이름을 지정합니다. 캐시 속성 이름은 워크플로 내에서 고유해야 합니다. 각 작업은 FileCaching에서 최대 5개의 항목을 가질 수 있습니다.

해당 UI: 구성 탭/파일 캐싱 - 선택 사항/캐시 추가/

Path

(action-name/Caching/FileCaching/key-name-1/Path)

(선택 사항)

캐시의 관련 경로를 지정합니다.

해당 UI: 구성 탭/파일 캐싱 - 선택 사항/캐시 추가/경로

RestoreKeys

(action-name/Caching/FileCaching/key-name-1/RestoreKeys)

(선택 사항)

기본 캐시 속성을 찾을 수 없을 때 대체로 사용할 복원 키를 지정합니다. 복원 키 이름은 워크플로 내에서 고유해야 합니다. 각 캐시는 RestoreKeys에서 최대 5개의 항목을 가질 수 있습니다.

해당 UI: 구성 탭/파일 캐싱 - 선택 사항/캐시 추가/복원 키 - 선택 사항

Inputs

(action-name/Inputs)

(선택 사항)

Inputs 섹션에서는 워크플로 실행 중에 작업에 필요한 데이터를 정의합니다.

참고

빌드 작업 또는 테스트 작업당 최대 4개의 입력(소스 1개 및 아티팩트 3개)이 허용됩니다. 변수는 이 합계에 포함되지 않습니다.

서로 다른 입력(소스 및 아티팩트)에 있는 파일을 참조해야 하는 경우 소스 입력은 기본 입력이고 아티팩트는 보조 입력입니다. 보조 입력의 파일에 대한 참조는 특수 접두사를 사용하여 기본 입력에서 파일을 구분합니다. 세부 정보는 예시: 여러 아티팩트에서 파일 참조을 참조하세요.

해당 UI: 입력

Sources

(action-name/Inputs/Sources)

(선택 사항)

작업에 필요한 소스 리포지토리를 나타내는 레이블을 지정합니다. 현재 지원되는 유일한 레이블은 워크플로 정의 파일이 저장되는 소스 리포지토리를 나타내는 WorkflowSource입니다.

소스를 생략하는 경우 action-name/Inputs/Artifacts 아래에 하나 이상의 입력 아티팩트를 지정해야 합니다.

소스에 대한 자세한 내용은 워크플로에 소스 리포지토리 연결 섹션을 참조하십시오.

해당 UI: 없음

Artifacts - input

(action-name/Inputs/Artifacts)

(선택 사항)

이 작업에 대한 입력으로 제공하려는 이전 작업의 아티팩트를 지정합니다. 이러한 아티팩트는 이전 작업에서 출력 아티팩트로 이미 정의되어 있어야 합니다.

입력 아티팩트를 지정하지 않으면 action-name/Inputs/Sources 아래에 소스 리포지토리를 하나 이상 지정해야 합니다.

예시를 포함해 아티팩트에 대한 자세한 내용은 작업 간 아티팩트 및 파일 공유 섹션을 참조하세요.

참고

아티팩트 - 선택적 드롭다운 목록을 사용할 수 없거나(시각적 편집기) YAML(YAML 편집기)을 검증할 때 오류가 발생하는 경우 작업이 하나의 입력만 지원하기 때문일 수 있습니다. 이 경우 소스 입력을 제거해 보세요.

해당 UI: 입력 탭/아티팩트 - 선택 사항

Variables - input

(action-name/Inputs/Variables)

(선택 사항)

작업에 사용할 수 있도록 하려는 입력 변수를 정의하는 이름/값 페어의 시퀀스를 지정합니다. 변수 이름은 영숫자 문자(a-z, A-Z, 0-9), 하이픈(-) 및 밑줄(_)로 제한됩니다. 공백은 허용되지 않습니다. 변수 이름에서 특수 문자와 공백을 활성화하는 데 따옴표를 사용할 수 없습니다.

예시를 비롯한 변수에 대한 자세한 내용은 워크플로에서 변수 사용 섹션을 참조하세요.

해당 UI: 입력 탭/변수 - 선택 사항

Outputs

(action-name/Outputs)

(선택 사항)

워크플로 실행 중에 작업에 의해 출력되는 데이터를 정의합니다.

해당 UI: 출력

Artifacts - output

(action-name/Outputs/Artifacts)

(선택 사항)

작업에서 생성된 아티팩트의 이름을 지정합니다. 아티팩트 이름은 워크플로 내에서 고유해야 하며 영숫자 문자(a-z, A-Z, 0-9) 및 밑줄(_)로 제한됩니다. 공백, 하이픈(-) 및 특수 문자는 허용되지 않습니다. 출력 아티팩트 이름에서 공백, 하이픈 및 기타 특수 문자를 활성화하는 데 따옴표를 사용할 수 없습니다.

예시를 포함해 아티팩트에 대한 자세한 내용은 작업 간 아티팩트 및 파일 공유 섹션을 참조하세요.

해당 UI: 출력 탭/아티팩트

Name

(action-name/Outputs/Artifacts/Name)

(Artifacts - output 포함 시 필수)

작업에서 생성된 아티팩트의 이름을 지정합니다. 아티팩트 이름은 워크플로 내에서 고유해야 하며 영숫자 문자(a-z, A-Z, 0-9) 및 밑줄(_)로 제한됩니다. 공백, 하이픈(-) 및 특수 문자는 허용되지 않습니다. 출력 아티팩트 이름에서 공백, 하이픈 및 기타 특수 문자를 활성화하는 데 따옴표를 사용할 수 없습니다.

예시를 포함해 아티팩트에 대한 자세한 내용은 작업 간 아티팩트 및 파일 공유 섹션을 참조하세요.

해당 UI: 출력 탭/아티팩트/새 출력/빌드 아티팩트 이름

Files

(action-name/Outputs/Artifacts/Files)

(Artifacts - output 포함 시 필수)

CodeCatalyst가 작업으로 출력되는 아티팩트에 포함하는 파일을 지정합니다. 이러한 파일은 실행 시 워크플로 작업에 의해 생성되며 소스 리포지토리에서도 사용할 수 있습니다. 파일 경로는 소스 리포지토리 또는 이전 작업의 아티팩트에 상주할 수 있으며 소스 리포지토리 또는 아티팩트 루트와 관련이 있습니다. glob 패턴을 사용하여 경로를 지정할 수 있습니다. 예시:

  • 빌드 위치 또는 소스 리포지토리 위치의 루트에 있는 단일 파일을 지정하려면 my-file.jar를 사용합니다..

  • 하위 디렉터리에 단일 파일을 지정하려면 directory/my-file.jar 또는 directory/subdirectory/my-file.jar를 사용합니다.

  • 모든 파일을 지정하려면 "**/*"를 사용합니다. ** glob 패턴은 임의의 수의 하위 디렉터리와 일치함을 나타냅니다.

  • directory라는 디렉터리에 있는 모든 파일 및 디렉터리를 지정하려면 "directory/**/*"를 사용합니다. ** glob 패턴은 임의의 수의 하위 디렉터리와 일치함을 나타냅니다.

  • directory라는 디렉터리의 모든 파일을 지정하되 해당 하위 디렉터리는 지정하지 않으려면 "directory/*"를 사용합니다.

참고

파일 경로에 별표(*) 또는 기타 특수 문자가 하나 이상 포함된 경우 경로를 큰따옴표("")로 묶습니다. 특수 문자에 대한 자세한 내용은 구문 지침 및 규칙 섹션을 참조하세요.

예시를 포함해 아티팩트에 대한 자세한 내용은 작업 간 아티팩트 및 파일 공유 섹션을 참조하세요.

참고

파일 경로에 접두사를 추가하여 찾을 아티팩트 또는 소스를 나타내야 할 수 있습니다. 자세한 내용은 소스 리포지토리 파일 참조아티팩트의 파일 참조 섹션을 참조하세요.

해당 UI: 출력 탭/아티팩트/아티팩트 추가/빌드에서 생성된 파일

Variables - output

(action-name/Outputs/Variables)

(선택 사항)

후속 작업에서 사용할 수 있도록 작업을 내보낼 변수를 지정합니다.

예시를 비롯한 변수에 대한 자세한 내용은 워크플로에서 변수 사용 섹션을 참조하세요.

해당 UI: 출력 탭/변수/변수 추가

variable-name-1

(action-name/Outputs/Variables/variable-name-1)

(선택 사항)

작업을 내보낼 변수의 이름을 지정합니다. 이 변수는 동일한 작업의 Inputs 또는 Steps 섹션에 이미 정의되어 있어야 합니다.

예시를 비롯한 변수에 대한 자세한 내용은 워크플로에서 변수 사용 섹션을 참조하세요.

해당 UI: 출력 탭/변수/변수 추가/이름

AutoDiscoverReports

(action-name/Outputs/AutoDiscoverReports)

(선택 사항)

자동 검색 기능의 구성을 정의합니다.

자동 검색을 활성화하면 CodeCatalyst는 작업에 전달된 모든 Inputs와 작업 자체에서 생성된 모든 파일을 검색하여 테스트, 코드 적용 범위 및 소프트웨어 구성 분석(SCA) 보고서를 찾습니다. 발견된 각 보고서에 대해 CodeCatalyst는 이를 CodeCatalyst 보고서로 변환합니다. CodeCatalyst 보고서는 CodeCatalyst 서비스에 완전히 통합되고 CodeCatalyst 콘솔을 통해 보고 조작할 수 있는 보고서입니다.

참고

기본적으로 자동 검색 기능은 모든 파일을 검사합니다. IncludePaths 또는 ExcludePaths 속성을 사용하여 검사할 파일을 제한할 수 있습니다.

해당 UI: 출력 탭/보고서/자동 검색 보고서

Enabled

(action-name/Outputs/AutoDiscoverReports/Enabled)

(선택 사항)

자동 검색 기능을 활성화하거나 비활성화합니다.

유효한 값은 true 또는 false입니다.

Enabled 생략 시 기본값은 true입니다.

해당 UI: 출력 탭/보고서/자동 검색 보고서

ReportNamePrefix

(action-name/Outputs/AutoDiscoverReports/ReportNamePrefix)

(AutoDiscoverReports 포함 및 활성화 시 필수)

연결된 CodeCatalyst 보고서의 이름을 지정하기 위해 CodeCatalyst가 찾는 모든 보고서에 우선하는 접두사를 지정합니다. 예를 들어 접두사를 AutoDiscovered로 지정하고 CodeCatalyst가 두 개의 테스트 보고서, TestSuiteOne.xmlTestSuiteTwo.xml를 자동으로 검색하면 연결된 CodeCatalyst 보고서의 이름이 AutoDiscoveredTestSuiteOneAutoDiscoveredTestSuiteTwo로 지정됩니다.

해당 UI: 출력 탭/보고서/접두사 이름

IncludePaths

(action-name/Outputs/AutoDiscoverReports/IncludePaths)

Or

(action-name/Outputs/Reports/report-name-1/IncludePaths)

(AutoDiscoverReports 포함 및 활성화 시 또는 Reports 포함 시 필수)

원시 보고서를 검색할 때 CodeCatalyst에 포함되는 파일 및 파일 경로를 지정합니다. 예를 들어 "/test/report/*" 지정 시 CodeCatalyst는 작업에서 /test/report/* 디렉터리를 찾는 데 사용되는 전체 빌드 이미지를 검색합니다. 해당 디렉터리를 찾으면 CodeCatalyst는 해당 디렉터리에서 보고서를 찾습니다.

참고

파일 경로에 별표(*) 또는 기타 특수 문자가 하나 이상 포함된 경우 경로를 큰따옴표("")로 묶습니다. 특수 문자에 대한 자세한 내용은 구문 지침 및 규칙 섹션을 참조하세요.

이 속성이 생략되면 기본값은 "**/*"입니다. 즉, 검색에 모든 경로의 모든 파일이 포함됩니다.

참고

수동으로 구성된 보고서의 경우 IncludePaths는 단일 파일과 일치하는 글로브 패턴이어야 합니다.

해당 UI:

  • 출력 탭/보고서/보고서 자동 검색/경로 포함/제외/경로 포함

  • 출력 탭/보고서/보고서 수동 구성/report-name-1/포함/경로 제외/경로 포함

ExcludePaths

(action-name/Outputs/AutoDiscoverReports/ExcludePaths)

Or

(action-name/Outputs/Reports/report-name-1/ExcludePaths)

(선택 사항)

원시 보고서를 검색할 때 CodeCatalyst에서 제외하는 파일 및 파일 경로를 지정합니다. 예를 들어 "/test/my-reports/**/*" 지정 시 CodeCatalyst는 /test/my-reports/ 디렉터리의 파일을 검색하지 않습니다. 디렉터리의 모든 파일을 무시하려면 **/* glob 패턴을 사용합니다.

참고

파일 경로에 별표(*) 또는 기타 특수 문자가 하나 이상 포함된 경우 경로를 큰따옴표("")로 묶습니다. 특수 문자에 대한 자세한 내용은 구문 지침 및 규칙 섹션을 참조하세요.

해당 UI:

  • 출력 탭/보고서/보고서 자동 검색/경로 포함/제외/경로 제외

  • 출력 탭/보고서/보고서 수동 구성/report-name-1/경로 포함/제외/경로 제외

SuccessCriteria

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria)

(선택 사항)

테스트, 코드 적용 범위, 소프트웨어 구성 분석(SCA) 및 정적 분석(SA) 보고서의 성공 기준을 지정합니다.

자세한 내용은 보고서의 성공 기준 구성 섹션을 참조하십시오.

해당 UI: 출력 탭/보고서/성공 기준

PassRate

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/PassRate)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/PassRate)

(선택 사항)

관련 CodeCatalyst 보고서를 통과로 표시하기 위해 통과해야 하는 테스트 보고서의 테스트 비율을 지정합니다. 유효한 값에는 십진수가 포함됩니다. 예시: 50, 60.5. 통과율 기준은 테스트 보고서에만 적용됩니다. 테스트 보고서에 대한 자세한 내용은 테스트 보고서의 내용을 참조하세요.

해당 UI: 출력 탭/보고서/성공 기준/통과율

LineCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/LineCoverage)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/LineCoverage)

(선택 사항)

연결된 CodeCatalyst 보고서를 통과로 표시하기 위해 다루어야 하는 코드 적용 범위 보고서의 줄 비율을 지정합니다. 유효한 값에는 십진수가 포함됩니다. 예시: 50, 60.5. 라인 적용 범위 기준은 코드 적용 범위 보고서에만 적용됩니다. 코드 적용 범위 보고서에 대한 자세한 내용은 코드 적용 범위 보고서 섹션을 참조하세요.

해당 UI: 출력 탭/보고서/성공 기준/라인 적용 범위

BranchCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/BranchCoverage)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/BranchCoverage)

(선택 사항)

연결된 CodeCatalyst 보고서를 통과로 표시하기 위해 다루어야 하는 코드 적용 범위 보고서의 브랜치 비율을 지정합니다. 유효한 값에는 십진수가 포함됩니다. 예시: 50, 60.5. 브랜치 적용 범위 기준은 코드 적용 범위 보고서에만 적용됩니다. 코드 적용 범위 보고서에 대한 자세한 내용은 코드 적용 범위 보고서 섹션을 참조하세요.

해당 UI: 출력 탭/보고서/성공 기준/지점 적용 범위

Vulnerabilities

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/Vulnerabilities)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/Vulnerabilities)

(선택 사항)

SCA 보고서에서 허용되는 취약성의 최대 수와 심각도를 지정하여 관련 CodeCatalyst 보고서를 통과로 표시합니다. 취약성을 지정하려면 다음을 지정해야 합니다.

  • 개수에 포함하려는 취약성의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 CRITICAL, HIGH, MEDIUM, LOWINFORMATIONAL입니다.

    예를 들어 HIGH 선택 시 HIGHCRITICAL 취약성이 집계됩니다.

  • 허용하려는 지정된 심각도의 최대 취약성 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

취약성 기준은 SCA 보고서에만 적용됩니다. SCA 보고서에 대한 자세한 내용은 소프트웨어 구성 분석 보고서의 내용을 참조하세요.

최소 심각도를 지정하려면 Severity 속성을 사용합니다. 최대 취약성 수를 지정하려면 Number 속성을 사용합니다.

해당 UI: 출력 탭/보고서/성공 기준/취약성

StaticAnalysisBug

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisBug)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisBug)

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에 허용되는 최대 버그 수와 심각도를 전달된 것으로 표시합니다. 버그를 지정하려면 다음을 지정해야 합니다.

  • 개수에 포함하려는 버그의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 CRITICAL, HIGH, MEDIUM, LOWINFORMATIONAL입니다.

    예를 들어 HIGH 선택 시 HIGHCRITICAL 버그가 집계됩니다.

  • 허용하려는 지정된 심각도의 최대 버그 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

버그 기준은 PyLint 및 ESLint SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 정적 분석 보고서의 내용을 참조하세요.

최소 심각도를 지정하려면 Severity 속성을 사용합니다. 최대 취약성 수를 지정하려면 Number 속성을 사용합니다.

해당 UI: 출력 탭/보고서/성공 기준/버그

StaticAnalysisSecurity

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisSecurity)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisSecurity)

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에서 허용되는 보안 취약성의 최대 수와 심각도를 전달된 것으로 표시합니다. 보안 취약성을 지정하려면 다음을 지정해야 합니다.

  • 개수에 포함하려는 보안 취약성의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 CRITICAL, HIGH, MEDIUM, LOWINFORMATIONAL입니다.

    예를 들어 HIGH 선택 시 HIGHCRITICAL 취약성이 집계됩니다.

  • 허용하려는 지정된 심각도의 최대 보안 취약성 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

보안 취약성 기준은 PyLint 및 ESLint SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 정적 분석 보고서의 내용을 참조하세요.

최소 심각도를 지정하려면 Severity 속성을 사용합니다. 최대 취약성 수를 지정하려면 Number 속성을 사용합니다.

해당 UI: 출력 탭/보고서/성공 기준/보안 취약성

StaticAnalysisQuality

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisQuality)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisQuality)

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에서 통과로 표시할 수 있는 품질 문제의 최대 수와 심각도를 지정합니다. 품질 문제를 지정하려면 다음을 지정해야 합니다.

  • 개수에 포함하려는 품질 문제의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 CRITICAL, HIGH, MEDIUM, LOWINFORMATIONAL입니다.

    예를 들어 HIGH 선택 시 HIGHCRITICAL 품질 문제가 집계됩니다.

  • 허용하려는 지정된 심각도의 최대 품질 문제 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

품질 문제 기준은 PyLint 및 ESLint SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 정적 분석 보고서의 내용을 참조하세요.

최소 심각도를 지정하려면 Severity 속성을 사용합니다. 최대 취약성 수를 지정하려면 Number 속성을 사용합니다.

해당 UI: 출력 탭/보고서/성공 기준/품질 문제

StaticAnalysisFinding

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisFinding)

Or

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisFinding)

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에서 통과로 표시할 수 있는 조사 결과의 최대 수와 심각도를 지정합니다. 조사 결과를 지정하려면 다음을 지정해야 합니다.

  • 개수에 포함하려는 조사 결과의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 CRITICAL, HIGH, MEDIUM, LOWINFORMATIONAL입니다.

    예를 들어 HIGH 선택 시 HIGHCRITICAL 조사 결과가 집계됩니다.

  • 허용하려는 지정된 심각도의 최대 조사 결과 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

조사 결과는 SARIF SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 정적 분석 보고서의 내용을 참조하세요.

최소 심각도를 지정하려면 Severity 속성을 사용합니다. 최대 취약성 수를 지정하려면 Number 속성을 사용합니다.

해당 UI: 출력 탭/보고서/성공 기준/조사 결과

Reports

(action-name/Outputs/Reports)

(선택 사항)

테스트 보고서의 구성을 지정하는 섹션입니다.

해당 UI: 출력 탭/보고서

report-name-1

(action-name/Outputs/Reports/report-name-1 )

(Reports 포함 시 필수)

원시 보고서에서 생성될 CodeCatalyst 보고서에 부여할 이름입니다.

해당 UI: 출력 탭/보고서 수동 구성/보고서 이름

Format

(action-name/Outputs/Reports/report-name-1/Format)

(Reports 포함 시 필수)

보고서에 사용할 파일 형식을 지정합니다. 가능한 값은 다음과 같습니다.

  • 테스트 보고서의 경우:

    • Cucumber JSON에서 Cucumber(시각 편집기) 또는 CUCUMBERJSON(YAML 편집기)를 지정합니다.

    • JUnit XML에 JUnit(시각 편집기) 또는 JUNITXML(YAML 편집기)를 지정합니다.

    • NUnit XML에 NUnit(시각 편집기) 또는 NUNITXML(YAML 편집기)를 지정합니다.

    • NUnit 3 XML에서 NUnit3(시각 편집기) 또는 NUNIT3XML(YAML 편집기)를 지정합니다.

    • Visual Studio TRX에서 Visual Studio TRX(시각 편집기) 또는 VISUALSTUDIOTRX(YAML 편집기)를 지정합니다.

    • TestNG XML에서 TestNG(시각 편집기) 또는 TESTNGXML(YAML 편집기)를 지정합니다.

  • 코드 적용 범위 보고서의 경우:

    • Clover XML에서 Clover(시각 편집기) 또는 CLOVERXML(YAML 편집기)를 지정합니다.

    • Cobertura XML에서 Cobertura(시각 편집기) 또는 COBERTURAXML(YAML 편집기)를 지정합니다.

    • JaCoCo XML의 경우 JaCoCo(시각 편집기) 또는 JACOCOXML(YAML 편집기)를 지정합니다.

    • Simplecov-json이 아닌 simplecov에서 생성한 SimpleCov JSON의 경우 Simplecov(시각 편집기) 또는 SIMPLECOV(YAML 편집기)를 지정합니다.

  • 소프트웨어 구성 분석(SCA) 보고서의 경우:

    • SARIF에서 SARIF(시각 편집기) 또는 SARIFSCA(YAML 편집기)를 지정합니다.

해당 UI: 출력 탭/보고서/보고서 수동 구성/보고서 추가/구성/report-name-1/보고서 유형보고서 형식

Configuration

(action-name/Configuration)

(필수) 작업의 구성 속성을 정의할 수 있는 섹션입니다.

해당 UI: 구성

Container

(action-name/Configuration/Container)

(선택 사항)

작업이 처리를 완료하는 데 사용하는 Docker 이미지 또는 컨테이너를 지정합니다. CodeCatalyst 와 함께 제공되는 활성 이미지 중 하나를 지정하거나 자체 이미지를 사용할 수 있습니다. 자체 이미지를 사용하도록 선택하면 Amazon ECR, Docker Hub 또는 다른 레지스트리에 상주할 수 있습니다. Docker 이미지를 지정하지 않으면 작업이 처리에 활성 이미지 중 하나를 사용합니다. 기본적으로 사용되는 활성 이미지에 대한 자세한 내용은 활성 이미지 섹션을 참조하세요.

자체 Docker 이미지 지정에 대한 자세한 내용은 작업에 사용자 지정 런타임 환경 Docker 이미지 할당 섹션을 참조하세요.

해당 UI: 런타임 환경 Docker 이미지 - 선택 사항

Registry

(action-name/Configuration/Container/Registry)

(Container 포함 시 필수)

이미지가 저장되는 레지스트리를 지정합니다. 유효한 값으로는 다음이 포함됩니다.

  • CODECATALYST (YAML 편집기)

    이미지는 CodeCatalyst 레지스트리에 저장됩니다.

  • Docker Hub(시각 편집기) 또는 DockerHub(YAML 편집기)

    이미지는 Docker Hub 이미지 레지스트리에 저장됩니다.

  • 기타 레지스트리(시각 편집기) 또는 Other(YAML 편집기)

    이미지는 사용자 지정 이미지 레지스트리에 저장됩니다. 공개적으로 사용 가능한 레지스트리를 사용할 수 있습니다.

  • Amazon Elastic Container Registry(시각 편집기) 또는 ECR(YAML 편집기)

    이미지는 Amazon Elastic Container Registry 이미지 리포지토리에 저장됩니다. Amazon ECR 리포지토리에서 이미지를 사용하려면 이 작업에서 Amazon ECR에 대한 액세스 권한이 필요합니다. 이 액세스를 활성화하려면 다음 권한과 사용자 지정 신뢰 정책을 포함하는 IAM 역할을 생성해야 합니다. (원하는 경우 권한 및 정책을 포함하도록 기존 역할을 수정할 수 있습니다.)

    IAM 역할에는 역할 정책의 다음 권한이 포함되어야 합니다.

    • ecr:BatchCheckLayerAvailability

    • ecr:BatchGetImage

    • ecr:GetAuthorizationToken

    • ecr:GetDownloadUrlForLayer

    IAM 역할에는 다음과 같은 사용자 지정 신뢰 정책이 포함되어야 합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

    IAM 역할 생성에 대한 자세한 정보는 IAM 사용자 설명서사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔)을 참조하세요.

    역할을 생성한 후에는 환경을 통해 작업에 할당해야 합니다. 자세한 내용은 작업과 환경 연결 섹션을 참조하십시오.

해당 UI: Amazon Elastic Container Registry, Docker Hub기타 레지스트리 옵션

Image

(action-name/Configuration/Container/Image)

(Container 포함 시 필수)

다음 중 하나를 지정하세요.

  • CODECATALYST 레지스트리를 사용하는 경우 이미지를 다음 활성 이미지 중 하나로 설정합니다.

    • CodeCatalystLinux_x86_64:2024_03

    • CodeCatalystLinux_x86_64:2022_11

    • CodeCatalystLinux_Arm64:2024_03

    • CodeCatalystLinux_Arm64:2022_11

    • CodeCatalystLinuxLambda_x86_64:2024_03

    • CodeCatalystLinuxLambda_x86_64:2022_11

    • CodeCatalystLinuxLambda_Arm64:2024_03

    • CodeCatalystLinuxLambda_Arm64:2022_11

    • CodeCatalystWindows_x86_64:2022_11

  • Docker Hub 레지스트리를 사용하는 경우 이미지를 Docker Hub 이미지 이름과 선택적 태그로 설정합니다.

    예시: postgres:latest

  • Amazon ECR 레지스트리를 사용하는 경우 이미지를 Amazon ECR 레지스트리 URI로 설정합니다.

    예시: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo

  • 사용자 지정 레지스트리를 사용하는 경우 이미지를 사용자 지정 레지스트리에서 예상되는 값으로 설정합니다.

해당 UI: 런타임 환경 Docker 이미지(레지스터가 인 경우CODECATALYST), Docker Hub 이미지(레지스터가 Docker Hub인 경우), ECR 이미지 URL(레지스터가 Amazon Elastic Container Registry인 경우) 및 이미지 URL(레지스터가 기타 레지스트리인 경우).

Steps

(action-name/Configuration/Steps)

(필수)

빌드 도구를 설치, 구성 및 실행하기 위해 작업 중에 실행할 쉘 명령을 지정합니다.

다음은 npm 프로젝트를 구축하는 방법의 예입니다.

Steps: - Run: npm install - Run: npm run build

다음은 파일 경로를 지정하는 방법의 예입니다.

Steps: - Run: cd $ACTION_BUILD_SOURCE_PATH_WorkflowSource/app && cat file2.txt - Run: cd $ACTION_BUILD_SOURCE_PATH_MyBuildArtifact/build-output/ && cat file.txt

파일 경로 지정에 대한 자세한 내용은 소스 리포지토리 파일 참조아티팩트의 파일 참조를 참조하세요.

해당 UI: 구성 탭/쉘 명령

Packages

(action-name/Configuration/Packages)

(선택 사항)

작업이 종속성을 해결하는 데 사용하는 패키지 리포지토리를 지정할 수 있는 섹션입니다. 패키지를 사용하면 애플리케이션 개발에 사용되는 소프트웨어 패키지를 안전하게 저장하고 공유할 수 있습니다.

패키지에 대한 자세한 내용은 CodeCatalyst에서 소프트웨어 패키지 게시 및 공유 섹션을 참조하세요.

해당 UI: 구성 탭/패키지

NpmConfiguration

(action-name/Configuration/Packages/NpmConfiguration)

(Packages 포함 시 필수)

npm 패키지 형식의 구성을 정의하는 섹션입니다. 이 구성은 워크플로 실행 중 작업에서 사용됩니다.

npm 패키지 구성에 대한 자세한 내용은 npm 사용 섹션을 참조하세요.

해당 UI: 구성 탭/패키지/구성 추가/npm

PackageRegistries

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries)

(Packages 포함 시 필수)

일련의 패키지 리포지토리의 구성 속성을 정의할 수 있는 섹션입니다.

해당 UI: 구성 탭/패키지/구성 추가/npm/패키지 리포지토리 추가

PackagesRepository

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/PackagesRepository)

(Packages 포함 시 필수)

작업을 사용할 CodeCatalyst 패키지 리포지토리의 이름을 지정합니다.

여러 기본 리포지토리를 지정하는 경우 마지막 리포지토리가 우선합니다.

패키지 리포지토리에 대한 자세한 내용은 패키지 리포지토리 섹션을 참조하세요.

해당 UI: 구성 탭/패키지/구성 추가/npm/패키지 리포지토리/패키지 리포지토리 추가

Scopes

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/Scopes)

(선택 사항)

패키지 레지스트리에서 정의할 범위 시퀀스를 지정합니다. 범위를 정의할 때 지정된 패키지 리포지토리는 나열된 모든 범위에 대한 레지스트리로 구성됩니다. 해당 범위의 패키지가 npm 클라이언트를 통해 요청되면 기본값 대신 해당 리포지토리를 사용합니다. 각 범위 이름 앞에는 ‘@’ 접두사를 붙여야 합니다.

범위 재정의를 포함하면 마지막 리포지토리가 우선합니다.

Scopes 생략 시 지정된 패키지 리포지토리가 작업에 사용되는 모든 패키지의 기본 레지스트리로 구성됩니다.

범위에 대한 자세한 내용은 패키지 네임스페이스범위 지정 패키지 섹션을 참조하세요.

해당 UI: 구성 탭/패키지/구성 추가/npm/패키지 리포지토리 추가/범위 - 선택 사항

ExportAuthorizationToken

(action-name/Configuration/Packages/ExportAuthorizationToken)

(선택 사항)

권한 부여 토큰 내보내기 기능을 활성화 또는 비활성화합니다. 활성화된 경우 내보낸 권한 부여 토큰을 사용하여 CodeCatalyst 패키지 리포지토리로 인증하도록 패키지 관리자를 수동으로 구성할 수 있습니다. 토큰을 작업에서 참조할 수 있는 환경 변수로 사용할 수 있습니다.

유효한 값은 true 또는 false입니다.

ExportAuthorizationToken 생략 시 기본값은 false입니다.

권한 토큰 내보내기에 대한 자세한 내용은 워크플로 작업에서 권한 부여 토큰 사용 섹션을 참조하세요.

해당 UI: 구성 탭/패키지/권한 토큰 내보내기