

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 빌드 및 테스트 작업 YAML
<a name="build-action-ref"></a><a name="test-action-ref"></a>

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

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

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

**참고**  
이어지는 대부분의 YAML 속성에는 시각적 편집기에 해당 UI 요소가 있습니다. UI 요소를 찾으려면 **Ctrl\$1F**를 사용합니다. 요소가 연결된 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 name="build.name"></a>

(필수)

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

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

## Identifier
<a name="build.identifier"></a>

(*action-name*/**Identifier**)

작업을 식별합니다. 버전을 변경하려는 경우가 아니면 이 속성을 변경하지 마세요. 자세한 내용은 [사용할 작업 버전 지정](workflows-action-versions.md) 섹션을 참조하세요.

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

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

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

## DependsOn
<a name="build.depends-on"></a>

(*action-name */**DependsOn**)

(선택 사항)

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

'depends on' 함수에 대한 자세한 내용은 [작업 순서 지정](workflows-depends-on.md) 섹션을 참조하세요.

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

## Compute
<a name="build.computename"></a>

(*action-name*/**Compute**)

(선택 사항)

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

해당 UI: *없음*

## Type
<a name="build.computetype"></a>

(*action-name*/Compute/**Type**)

([Compute](#build.computename) 포함 시 필수)

컴퓨팅 엔진의 유형입니다. 다음 값 중 하나를 사용할 수 있습니다.
+ **EC2**(시각 편집기) 또는 `EC2`(YAML 편집기)

  작업 실행 중 유연성을 위해 최적화되었습니다.
+ **Lambda**(시각 편집기) 또는 `Lambda`(YAML 편집기)

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

컴퓨팅 유형에 대한 자세한 정보는 [컴퓨팅 유형](workflows-working-compute.md#compute.types)을 참고하세요.

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

## Fleet
<a name="build.computefleet"></a>

(*action-name*/Compute/**Fleet**)

(선택 사항)

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

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

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

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

## Timeout
<a name="build.timeout"></a>

(*action-name*/**Timeout**)

(선택 사항)

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

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

## Environment
<a name="build.environment"></a>

(*action-name*/**Environment**)

(선택 사항)

작업에 사용할 CodeCatalyst 환경을 지정합니다. 작업은 선택한 환경에 지정된 AWS 계정 및 선택적 Amazon VPC에 연결됩니다. 작업은 환경에 지정된 기본 IAM 역할을 사용하여에 연결하고 [Amazon VPC 연결](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html)에 지정된 IAM 역할을 AWS 계정사용하여 Amazon VPC에 연결합니다.

**참고**  
기본 IAM 역할에 작업에 필요한 권한이 없는 경우 다른 역할을 사용하도록 작업을 구성할 수 있습니다. 자세한 내용은 [작업의 IAM 역할 변경](deploy-environments-switch-role.md) 섹션을 참조하세요.

환경에 대한 자세한 내용은 [AWS 계정 및 VPCs에 배포](deploy-environments.md) 및 [환경 생성](deploy-environments-creating-environment.md) 섹션을 참조하세요.

해당 UI: 구성 탭/**환경**

## Name
<a name="build.environment.name"></a>

(*action-name*/Environment/**Name**)

(선택 사항)

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

해당 UI: 구성 탭/**환경**

## Connections
<a name="build.environment.connections"></a>

(*action-name*/Environment/**Connections**)

(선택 사항)

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

계정 연결을 지정하지 않는 경우:
+ 작업은 CodeCatalyst 콘솔의 환경에 지정된 AWS 계정 연결 및 기본 IAM 역할을 사용합니다. 환경에 계정 연결 및 기본 IAM 역할을 추가하는 방법에 대한 자세한 내용은 [환경 생성](deploy-environments-creating-environment.md) 섹션을 참조하세요.
+ 기본 IAM 역할에는 작업에 필요한 정책 및 권한이 포함되어야 합니다. 이러한 정책 및 권한이 무엇인지 확인하려면 작업의 YAML 정의 설명서에서 **역할** 속성에 대한 설명을 참조하세요.

계정 연결에 대한 자세한 정보는 [연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md) 섹션을 참조하세요. 환경에 계정 연결을 추가하는 방법에 대한 자세한 내용은 [환경 생성](deploy-environments-creating-environment.md) 섹션을 참조하세요.

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

## Name
<a name="build.environment.connections.name"></a>

(*action-name*/Environment/Connections/**Name**)

([Connections](#build.environment.connections) 포함 시 필수)

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

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

## Role
<a name="build.environment.connections.role"></a>

(*action-name*/Environment/Connections/**Role**)

([Connections](#build.environment.connections) 포함 시 필수)

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

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

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

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

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

## Caching
<a name="build.caching"></a>

(*action-name*/**Caching**)

(선택 사항)

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

파일 캐싱에 대한 자세한 정보는 [워크플로 실행 간 파일 캐싱](workflows-caching.md)을 참조하세요.

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

## FileCaching
<a name="build.caching.filecaching"></a>

(*action-name*/Caching/**FileCaching**)

(선택 사항)

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

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

## key-name-1
<a name="build.caching.filecaching.key-name-1"></a>

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

(선택 사항)

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

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

## Path
<a name="build.caching.filecaching.key-name-1.path"></a>

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

(선택 사항)

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

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

## RestoreKeys
<a name="build.caching.filecaching.key-name-1.restorekeys"></a>

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

(선택 사항)

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

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

## Inputs
<a name="build.inputs"></a>

(*action-name*/**Inputs**)

(선택 사항)

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

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

서로 다른 입력(소스 및 아티팩트)에 있는 파일을 참조해야 하는 경우 소스 입력은 기본 입력이고 아티팩트는 보조 입력입니다. 보조 입력의 파일에 대한 참조는 특수 접두사를 사용하여 기본 입력에서 파일을 구분합니다. 자세한 내용은 [예시: 여러 아티팩트에서 파일 참조](workflows-working-artifacts-ex.md#workflows-working-artifacts-ex-ref-file)을 참조하세요.

해당 UI: **입력** 탭

## Sources
<a name="build.inputs.sources"></a>

(*action-name*/Inputs/**Sources**)

(선택 사항)

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

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

소스에 대한 자세한 내용은 [워크플로에 소스 리포지토리 연결](workflows-sources.md) 섹션을 참조하세요.

해당 UI: *없음*

## Artifacts - input
<a name="build.inputs.artifacts"></a>

(*action-name*/Inputs/**Artifacts**)

(선택 사항)

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

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

예시를 포함해 아티팩트에 대한 자세한 내용은 [작업 간 아티팩트 및 파일 공유](workflows-working-artifacts.md) 섹션을 참조하세요.

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

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

## Variables - input
<a name="build.inputs.variables"></a>

(*action-name*/Inputs/**Variables**)

(선택 사항)

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

예시를 비롯한 변수에 대한 자세한 내용은 [워크플로에서 변수 사용](workflows-working-with-variables.md) 섹션을 참조하세요.

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

## Outputs
<a name="build.outputs"></a>

(*action-name*/**Outputs**)

(선택 사항)

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

해당 UI: **출력** 탭

## Artifacts - output
<a name="build.outputs.artifacts"></a>

(*action-name*/Outputs/**Artifacts**)

(선택 사항)

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

예시를 포함해 아티팩트에 대한 자세한 내용은 [작업 간 아티팩트 및 파일 공유](workflows-working-artifacts.md) 섹션을 참조하세요.

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

## Name
<a name="build.outputs.artifacts.name"></a>

(*action-name*/Outputs/Artifacts/**Name**)

([Artifacts - output](#build.outputs.artifacts) 포함 시 필수)

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

예시를 포함해 아티팩트에 대한 자세한 내용은 [작업 간 아티팩트 및 파일 공유](workflows-working-artifacts.md) 섹션을 참조하세요.

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

## Files
<a name="build.outputs.artifacts.files"></a>

(*action-name*/Outputs/Artifacts/**Files**)

([Artifacts - output](#build.outputs.artifacts) 포함 시 필수)

CodeCatalyst가 작업으로 출력되는 아티팩트에 포함하는 파일을 지정합니다. 이러한 파일은 실행 시 워크플로 작업에 의해 생성되며 소스 리포지토리에서도 사용할 수 있습니다. 파일 경로는 소스 리포지토리 또는 이전 작업의 아티팩트에 상주할 수 있으며 소스 리포지토리 또는 아티팩트 루트와 관련이 있습니다. glob 패턴을 사용하여 경로를 지정할 수 있습니다. 예시:
+ 빌드 위치 또는 소스 리포지토리 위치의 루트에 있는 단일 파일을 지정하려면 `my-file.jar`를 사용합니다..
+ 하위 디렉터리에 단일 파일을 지정하려면 `directory/my-file.jar` 또는 `directory/subdirectory/my-file.jar`를 사용합니다.
+ 모든 파일을 지정하려면 `"**/*"`를 사용합니다. `**` glob 패턴은 임의의 수의 하위 디렉터리와 일치함을 나타냅니다.
+ `directory`라는 디렉터리에 있는 모든 파일 및 디렉터리를 지정하려면 `"directory/**/*"`를 사용합니다. `**` glob 패턴은 임의의 수의 하위 디렉터리와 일치함을 나타냅니다.
+ `directory`라는 디렉터리의 모든 파일을 지정하되 해당 하위 디렉터리는 지정하지 않으려면 `"directory/*"`를 사용합니다.

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

예시를 포함해 아티팩트에 대한 자세한 내용은 [작업 간 아티팩트 및 파일 공유](workflows-working-artifacts.md) 섹션을 참조하세요.

**참고**  
파일 경로에 접두사를 추가하여 찾을 아티팩트 또는 소스를 나타내야 할 수 있습니다. 자세한 내용은 [소스 리포지토리 파일 참조](workflows-sources-reference-files.md) 및 [아티팩트의 파일 참조](workflows-working-artifacts-refer-files.md) 섹션을 참조하세요.

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

## Variables - output
<a name="build.outputs.variables"></a>

(*action-name*/Outputs/**Variables**)

(선택 사항)

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

예시를 비롯한 변수에 대한 자세한 내용은 [워크플로에서 변수 사용](workflows-working-with-variables.md) 섹션을 참조하세요.

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

## variable-name-1
<a name="build.outputs.variables.name"></a>

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

(선택 사항)

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

예시를 비롯한 변수에 대한 자세한 내용은 [워크플로에서 변수 사용](workflows-working-with-variables.md) 섹션을 참조하세요.

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

## AutoDiscoverReports
<a name="build.outputs.autodiscover"></a>

(*action-name*/Outputs/**AutoDiscoverReports**)

(선택 사항)

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

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

**참고**  
기본적으로 자동 검색 기능은 모든 파일을 검사합니다. [IncludePaths](#build.reports.includepaths) 또는 [ExcludePaths](#build.reports.excludepaths) 속성을 사용하여 검사할 파일을 제한할 수 있습니다.

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

## Enabled
<a name="build.outputs.autodiscover.enabled"></a>

(*action-name*/Outputs/AutoDiscoverReports/**Enabled**)

(선택 사항)

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

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

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

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

## ReportNamePrefix
<a name="build.outputs.autodiscover.reportnameprefix"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ReportNamePrefix**)

([AutoDiscoverReports](#build.outputs.autodiscover) 포함 및 활성화 시 필수)

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

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

## IncludePaths
<a name="build.reports.includepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**IncludePaths**)

또는

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

([AutoDiscoverReports](#build.outputs.autodiscover) 포함 및 활성화 시 또는 [Reports](#test.configuration.reports) 포함 시 필수)

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

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

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

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

해당 UI:
+ 출력 탭/보고서/보고서 자동 검색/경로 포함/제외/**경로 포함**
+ 출력 탭/보고서/보고서 수동 구성/*report-name-1*/포함/경로 제외/**경로 포함**

## ExcludePaths
<a name="build.reports.excludepaths"></a>

(*action-name*/Outputs/AutoDiscoverReports/**ExcludePaths**)

또는

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

(선택 사항)

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

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

해당 UI:
+ 출력 탭/보고서/보고서 자동 검색/경로 포함/제외/**경로 제외**
+ 출력 탭/보고서/보고서 수동 구성/*report-name-1*/경로 포함/제외/**경로 제외**

## SuccessCriteria
<a name="build.reports.successcriteria"></a>

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

또는

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

(선택 사항)

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

자세한 내용은 [보고서의 성공 기준 구성](test-config-action.md#test.success-criteria) 섹션을 참조하세요.

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

## PassRate
<a name="build.reports.successcriteria.passrate"></a>

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

또는

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

(선택 사항)

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

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

## LineCoverage
<a name="build.reports.successcriteria.linecoverage"></a>

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

또는

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

(선택 사항)

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

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

## BranchCoverage
<a name="build.reports.successcriteria.branchcoverage"></a>

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

또는

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

(선택 사항)

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

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

## Vulnerabilities
<a name="build.reports.successcriteria.vulnerabilities"></a>

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

또는

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

(선택 사항)

SCA 보고서에서 허용되는 취약성의 최대 수와 심각도를 지정하여 관련 CodeCatalyst 보고서를 통과로 표시합니다. 취약성을 지정하려면 다음을 지정해야 합니다.
+ 개수에 포함하려는 취약성의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` 및 `INFORMATIONAL`입니다.

  예를 들어 `HIGH` 선택 시 `HIGH` 및 `CRITICAL` 취약성이 집계됩니다.
+ 허용하려는 지정된 심각도의 최대 취약성 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

취약성 기준은 SCA 보고서에만 적용됩니다. SCA 보고서에 대한 자세한 내용은 [소프트웨어 구성 분석 보고서](test-workflow-actions.md#test-sca-reports)의 내용을 참조하세요.

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

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

## StaticAnalysisBug
<a name="build.reports.successcriteria.bugs"></a>

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

또는

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

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에 허용되는 최대 버그 수와 심각도를 전달된 것으로 표시합니다. 버그를 지정하려면 다음을 지정해야 합니다.
+ 개수에 포함하려는 버그의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` 및 `INFORMATIONAL`입니다.

  예를 들어 `HIGH` 선택 시 `HIGH` 및 `CRITICAL` 버그가 집계됩니다.
+ 허용하려는 지정된 심각도의 최대 버그 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

버그 기준은 PyLint 및 ESLint SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 [정적 분석 보고서](test-workflow-actions.md#test-static-analysis-reports)의 내용을 참조하세요.

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

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

## StaticAnalysisSecurity
<a name="build.reports.successcriteria.securityvulnerabilities"></a>

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

또는

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

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에서 허용되는 보안 취약성의 최대 수와 심각도를 전달된 것으로 표시합니다. 보안 취약성을 지정하려면 다음을 지정해야 합니다.
+ 개수에 포함하려는 보안 취약성의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` 및 `INFORMATIONAL`입니다.

  예를 들어 `HIGH` 선택 시 `HIGH` 및 `CRITICAL` 취약성이 집계됩니다.
+ 허용하려는 지정된 심각도의 최대 보안 취약성 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

보안 취약성 기준은 PyLint 및 ESLint SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 [정적 분석 보고서](test-workflow-actions.md#test-static-analysis-reports)의 내용을 참조하세요.

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

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

## StaticAnalysisQuality
<a name="build.reports.successcriteria.qualityissues"></a>

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

또는

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

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에서 통과로 표시할 수 있는 품질 문제의 최대 수와 심각도를 지정합니다. 품질 문제를 지정하려면 다음을 지정해야 합니다.
+ 개수에 포함하려는 품질 문제의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` 및 `INFORMATIONAL`입니다.

  예를 들어 `HIGH` 선택 시 `HIGH` 및 `CRITICAL` 품질 문제가 집계됩니다.
+ 허용하려는 지정된 심각도의 최대 품질 문제 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

품질 문제 기준은 PyLint 및 ESLint SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 [정적 분석 보고서](test-workflow-actions.md#test-static-analysis-reports)의 내용을 참조하세요.

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

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

## StaticAnalysisFinding
<a name="build.reports.successcriteria.findings"></a>

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

또는

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

(선택 사항)

관련 CodeCatalyst 보고서에 대해 SA 보고서에서 통과로 표시할 수 있는 조사 결과의 최대 수와 심각도를 지정합니다. 조사 결과를 지정하려면 다음을 지정해야 합니다.
+ 개수에 포함하려는 조사 결과의 최소 심각도입니다. 최대부터 최소 심각도까지 유효한 값은 `CRITICAL`, `HIGH`, `MEDIUM`, `LOW` 및 `INFORMATIONAL`입니다.

  예를 들어 `HIGH` 선택 시 `HIGH` 및 `CRITICAL` 조사 결과가 집계됩니다.
+ 허용하려는 지정된 심각도의 최대 조사 결과 수입니다. 이 수를 초과하면 CodeCatalyst 보고서가 실패로 표시됩니다. 유효한 값은 정수입니다.

조사 결과는 SARIF SA 보고서에만 적용됩니다. SA 보고서에 대한 자세한 내용은 [정적 분석 보고서](test-workflow-actions.md#test-static-analysis-reports)의 내용을 참조하세요.

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

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

## Reports
<a name="test.configuration.reports"></a>

(*action-name*/Outputs/**Reports**)

(선택 사항)

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

해당 UI: 출력 탭/**보고서**

## report-name-1
<a name="test.configuration.reports.report-name-1"></a>

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

([Reports](#test.configuration.reports) 포함 시 필수)

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

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

## Format
<a name="test.configuration.reports.name.testresults.format"></a>

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

([Reports](#test.configuration.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](https://github.com/vicentllongo/simplecov-json)이 아닌 [simplecov](https://github.com/simplecov-ruby/simplecov)에서 생성한 SimpleCov JSON의 경우 **Simplecov**(시각 편집기) 또는 `SIMPLECOV`(YAML 편집기)를 지정합니다.
+ 소프트웨어 구성 분석(SCA) 보고서의 경우:
  + SARIF에서 **SARIF**(시각 편집기) 또는 `SARIFSCA`(YAML 편집기)를 지정합니다.

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

## Configuration
<a name="build.configuration"></a>

(*action-name*/**Configuration**)

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

해당 UI: **구성** 탭

## Container
<a name="build.configuration.container"></a>

(*action-name*/Configuration/**Container**)

(선택 사항)

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

자체 Docker 이미지 지정에 대한 자세한 내용은 [작업에 사용자 지정 런타임 환경 Docker 이미지 할당](build-images.md#build-images-specify) 섹션을 참조하세요.

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

## Registry
<a name="build.configuration.container.registry"></a>

(*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 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)을 생성해야 합니다. (원하는 경우 권한 및 정책을 포함하도록 기존 역할을 수정할 수 있습니다.)

  IAM 역할에는 역할 정책의 다음 권한이 포함되어야 합니다.
  + `ecr:BatchCheckLayerAvailability`
  + `ecr:BatchGetImage`
  + `ecr:GetAuthorizationToken`
  + `ecr:GetDownloadUrlForLayer`

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

  IAM 역할 생성에 대한 자세한 정보는 *IAM 사용자 설명서*의 [사용자 지정 신뢰 정책을 사용하여 역할 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)을 참조하세요.

  역할을 생성한 후에는 환경을 통해 작업에 할당해야 합니다. 자세한 내용은 [작업과 환경 연결](deploy-environments-add-app-to-environment.md) 섹션을 참조하세요.

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

## Image
<a name="build.configuration.container.image"></a>

(*action-name*/Configuration/Container/**Image**)

(`Container` 포함 시 필수)

다음 중 하나를 지정하세요.
+ `CODECATALYST` 레지스트리를 사용하는 경우 이미지를 다음 [활성 이미지](build-images.md#build-curated-images) 중 하나로 설정합니다.
  + `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
<a name="build.configuration.steps"></a>

(*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
```

파일 경로 지정에 대한 자세한 내용은 [소스 리포지토리 파일 참조](workflows-sources-reference-files.md) 및 [아티팩트의 파일 참조](workflows-working-artifacts-refer-files.md)를 참조하세요.

해당 UI: 구성 탭/**쉘 명령**

## Packages
<a name="build.configuration.packages"></a>

(*action-name*/Configuration/**Packages**)

(선택 사항) 

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

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

해당 UI: 구성 탭/**패키지**

## NpmConfiguration
<a name="build.configuration.packages.npm"></a>

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

([Packages](#build.configuration.packages) 포함 시 필수)

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

npm 패키지 구성에 대한 자세한 내용은 [npm 사용](packages-npm.md) 섹션을 참조하세요.

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

## PackageRegistries
<a name="build.configuration.packages.registry"></a>

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

([Packages](#build.configuration.packages) 포함 시 필수)

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

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

## PackagesRepository
<a name="build.configuration.packages.repository"></a>

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

([Packages](#build.configuration.packages) 포함 시 필수)

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

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

패키지 리포지토리에 대한 자세한 내용은 [패키지 리포지토리](packages-concepts.md#packages-concepts-repository) 섹션을 참조하세요.

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

## Scopes
<a name="build.configuration.packages.scope"></a>

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

(선택 사항) 

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

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

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

범위에 대한 자세한 내용은 [패키지 네임스페이스](packages-concepts.md#packages-concepts-package-namespaces) 및 [범위 지정 패키지](https://docs.npmjs.com/cli/v10/using-npm/scope) 섹션을 참조하세요.

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

## ExportAuthorizationToken
<a name="build.configuration.packages.exportauthtoken"></a>

(*action-name*/Configuration/Packages/**ExportAuthorizationToken**)

(선택 사항) 

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

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

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

권한 토큰 내보내기에 대한 자세한 내용은 [워크플로 작업에서 권한 부여 토큰 사용](workflows-package-export-token.md) 섹션을 참조하세요.

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