빌드 및 테스트 작업 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

작업 이름

(필수)

작업의 이름을 지정합니다. 모든 작업 이름은 워크플로 내에서 고유해야 합니다. 작업 이름은 영숫자 문자(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)

(선택 사항)

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

'의존' 기능에 대한 자세한 내용은 섹션을 참조하세요시퀀스 작업.

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

Compute

(action-name/Compute)

(선택 사항)

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

해당 UI: 없음

Type

(action-name/Compute/유형 )

(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 환경을 지정합니다. 작업은 선택한 환경에 VPC 지정된 AWS 계정 및 선택적 Amazon에 연결됩니다. 작업은 환경에 지정된 기본 IAM 역할을 사용하여 에 연결하고 Amazon VPC 연결에 지정된 IAM 역할을 AWS 계정사용하여 Amazon 에 연결합니다VPC.

참고

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

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

해당 UI: 구성 탭/환경

Name

(action-name/Environment/Name)

(선택 사항)

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

해당 UI: 구성 탭/환경

Connections

(action-name/Environment/Connections)

(선택 사항)

작업과 연결할 계정 연결을 지정합니다. 에서 최대 하나의 계정 연결을 지정할 수 있습니다Environment.

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

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

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

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

해당 UI: tab/Environment/What의 구성 my-environment?/점 3개 메뉴/스위치 역할

Name

(action-name/Environment/Connections/Name)

(Connections이 포함된 경우 필수)

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

해당 UI: tab/Environment/What의 구성 my-environment?/점 3개 메뉴/스위치 역할

Role

(action-name/Environment/Connections/Role)

(Connections이 포함된 경우 필수)

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

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

참고

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

주의

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

해당 UI: tab/Environment/What의 구성 my-environment?/3개의 점 메뉴/스위치 역할

Caching

(action-name/Caching)

(선택 사항)

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

파일 캐싱에 대한 자세한 내용은 섹션을 참조하세요워크플로우 실행 간 파일 캐싱.

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

FileCaching

(action-name/Caching/FileCaching)

(선택 사항)

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

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

키-이름-1

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

(선택 사항)

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

해당 UI: 구성 tab/File caching - optional/Add 캐시/

Path

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

(선택 사항)

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

해당 UI: 구성 tab/File caching - optional/Add 캐시/

RestoreKeys

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

(선택 사항)

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

해당 UI: 구성 tab/File caching - optional/Add 캐시/복원 키 - 선택 사항

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: 출력 tab/Artifacts/New 출력/빌드 아티팩트 이름

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: 빌드에서 생성된 tab/Artifacts/New 출력/파일 출력

Variables - output

(action-name/Outputs/Variables)

(선택 사항)

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

예제를 포함하여 변수에 대한 자세한 내용은 섹션을 참조하세요워크플로에서 변수 사용.

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

변수-이름-1

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

(선택 사항)

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

예제를 포함하여 변수에 대한 자세한 내용은 섹션을 참조하세요워크플로에서 변수 사용.

해당 UI: 출력 tab/Variables/Add 변수/이름

AutoDiscoverReports

(action-name/Outputs/AutoDiscoverReports)

(선택 사항)

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

자동 검색을 활성화하면 는 작업에 Inputs 전달된 모든 파일과 작업 자체에서 생성된 모든 파일을 CodeCatalyst 검색하여 테스트, 코드 적용 범위 및 소프트웨어 구성 분석(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.xml와 를 자동으로 검색TestSuiteTwo.xml하면 관련 CodeCatalyst 보고서의 이름이 AutoDiscoveredTestSuiteOne 및 로 지정됩니다AutoDiscoveredTestSuiteTwo.

해당 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 찾습니다.

참고

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

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

참고

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

해당 UI:

  • 출력 tab/Reports/Auto-discover reports/Include/exclude 경로/경로 포함

  • 출력 구성 tab/Reports/Manually 보고서/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:

  • tab/Reports/Auto-discover reports/Include/exclude 경로 출력/경로 제외

  • 출력 구성 tab/Reports/Manually 보고서/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: 출력 tab/Reports/Success 기준/통과율

LineCoverage

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

Or

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

(선택 사항)

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

해당 UI: 출력 tab/Reports/Success 기준/라인 적용 범위

BranchCoverage

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

Or

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

(선택 사항)

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

해당 UI: 출력 tab/Reports/Success 기준/분기 적용 범위

Vulnerabilities

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

Or

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

(선택 사항)

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

  • 개수에 포함하려는 취약성의 최소 심각도입니다. 가장 심각하거나 가장 심각하지 않은 유효한 값은 , CRITICAL, HIGHMEDIUM, LOW, 입니다INFORMATIONAL.

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

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

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

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

해당 UI: 출력 tab/Reports/Success 기준/취약성

StaticAnalysisBug

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

Or

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

(선택 사항)

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

  • 개수에 포함하려는 버그의 최소 심각도입니다. 가장 심각하거나 가장 심각하지 않은 유효한 값은 , CRITICAL, HIGHMEDIUM, LOW, 입니다INFORMATIONAL.

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

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

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

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

해당 UI: 출력 tab/Reports/Success 기준/버그

StaticAnalysisSecurity

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

Or

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

(선택 사항)

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

  • 개수에 포함하려는 보안 취약성의 최소 심각도입니다. 가장 심각하거나 가장 심각하지 않은 유효한 값은 , CRITICAL, HIGHMEDIUM, LOW, 입니다INFORMATIONAL.

    예를 들어 를 선택하면 HIGH HIGH CRITICAL 보안 취약성이 발생합니다.

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

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

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

해당 UI: 출력 tab/Reports/Success 기준/보안 취약성

StaticAnalysisQuality

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

Or

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

(선택 사항)

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

  • 개수에 포함하려는 품질 문제의 최소 심각도입니다. 가장 심각하거나 가장 심각하지 않은 유효한 값은 , CRITICAL, HIGHMEDIUM, LOW, 입니다INFORMATIONAL.

    예를 들어 를 선택하면 HIGH HIGHCRITICAL 품질 문제가 발생합니다.

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

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

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

해당 UI: 출력 tab/Reports/Success 기준/품질 문제

StaticAnalysisFinding

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

Or

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

(선택 사항)

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

  • 카운트에 포함하려는 조사 결과의 최소 심각도입니다. 가장 심각하거나 가장 심각하지 않은 유효한 값은 , CRITICAL, HIGHMEDIUM, LOW, 입니다INFORMATIONAL.

    예를 들어 를 선택하면 HIGH HIGHCRITICAL 결과가 집계됩니다.

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

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

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

해당 UI: 출력 tab/Reports/Success 기준/결과

Reports

(action-name/Outputs/Reports )

(선택 사항)

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

해당 UI: 출력 탭/보고서

report-name-1

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

(Reports이 포함된 경우 필수)

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

해당 UI: 출력 tab/Reports/Manually 구성 보고서/보고서 이름

Format

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

(Reports이 포함된 경우 필수)

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

  • 테스트 보고서의 경우:

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

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

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

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

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

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

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

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

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

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

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

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

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

해당 UI: 출력 tab/Reports/Manually configure reports/Add/configure 보고서/report-name-1/보고서 유형보고서 형식

Configuration

(action-name/Configuration)

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

해당 UI: 구성

Container

(action-name/Configuration/Container)

(선택 사항)

작업이 처리를 완료하는 데 사용하는 Docker 이미지 또는 컨테이너를 지정합니다. 와 함께 제공되는 활성 이미지 중 하나를 지정 CodeCatalyst하거나 자체 이미지를 사용할 수 있습니다. 자체 이미지를 사용하도록 선택한 경우 Amazon , ECRDocker 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: 런타임 환경 도커 이미지(레지스터가 인 경우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: 구성 tab/Packages/Add 구성/npm

PackageRegistries

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

(Packages이 포함된 경우 필수)

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

해당 UI: 구성tab/Packages/Add configuration/npm/패키지 리포지토리 추가

PackagesRepository

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

(Packages이 포함된 경우 필수)

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

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

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

해당 UI: 구성 tab/Packages/Add configuration/npm/Add 패키지 리포지토리/패키지 리포지토리

Scopes

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

(선택 사항)

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

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

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

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

해당 UI: 구성 tab/Packages/Add configuration/npm/Add 패키지 리포지토리/범위 - 선택 사항

ExportAuthorizationToken

(action-name/Configuration/Packages/ExportAuthorizationToken)

(선택 사항)

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

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

ExportAuthorizationToken 이 생략된 경우 기본값은 입니다false.

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

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