

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

# 변수 참조
<a name="reference-variables"></a>

이 단원은 참조용입니다. 변수 생성에 대한 자세한 내용은 [변수 작업](actions-variables.md) 단원을 참조하십시오.

변수를 사용하면 파이프라인 실행 또는 작업 실행 시 결정되는 값으로 파이프라인 작업을 구성할 수 있습니다.

일부 작업 공급자는 정의된 변수 집합을 생성합니다. 해당 작업 공급자의 기본 변수 키에서 선택합니다(예: 커밋 ID).

**중요**  
보안 파라미터를 전달할 때는 값을 직접 입력하지 마십시오. 값은 일반 텍스트로 렌더링되므로 읽을 수 있습니다. 보안상의 이유로 암호가 포함된 일반 텍스트는 사용하지 마십시오. 를 사용하여 보안 암호를 AWS Secrets Manager 저장하는 것이 좋습니다.

변수 사용에 대한 단계별 예제를 보려면
+ 파이프라인 실행 시 전달되는 파이프라인 수준 변수에 대한 자습서는 [자습서: 파이프라인 수준 변수 사용](tutorials-pipeline-variables.md)을 참조하세요.
+ 업스트림 작업(CodeCommit)의 변수를 사용하고 출력 변수를 생성하는 Lambda 작업에 대한 자습서는 [자습서: Lambda 호출 작업과 함께 변수 사용](tutorials-lambda-variables.md) 섹션을 참조하세요.
+ 업스트림 CloudFormation CloudFormation 작업의 스택 출력 변수를 참조하는 작업이 포함된 자습서는 섹션을 참조하세요[자습서: AWS CloudFormation 배포 작업의 변수를 사용하는 파이프라인 생성](tutorials-cloudformation-action.md).
+ CodeCommit 커밋 ID 및 커밋 메시지로 확인되는 출력 변수를 참조하는 메시지 텍스트가 포함된 수동 승인 작업의 예는 [예: 수동 승인에 변수 사용](actions-variables.md#actions-variables-examples-approvals) 섹션을 참조하세요.
+ GitHub 브랜치 이름으로 확인되는 환경 변수를 포함하는 CodeBuild 작업의 예는 [예: CodeBuild 환경 변수와 함께 BranchName 변수 사용](actions-variables.md#actions-variables-examples-env-branchname) 섹션을 참조하세요.
+ CodeBuild 작업은 빌드의 일부로 내보낸 모든 환경 변수를 변수로 생성합니다. 자세한 내용은 [CodeBuild 작업 출력 변수](#reference-variables-list-configured-codebuild) 단원을 참조하십시오.

**변수 제한**

제한 정보는 [AWS CodePipeline의 할당량](limits.md) 단원을 참조하십시오.

**참고**  
작업 구성 필드에 변수 구문을 입력할 때 구성 필드의 1000자 제한을 초과하지 마십시오. 이 제한을 초과하면 확인 오류가 반환됩니다.

**Topics**
+ [개념](#reference-variables-concepts)
+ [변수 사용 사례](#reference-variables-cases)
+ [변수 구성](#reference-variables-workflow)
+ [변수 확인](#reference-variables-resolution)
+ [변수에 대한 규칙](#reference-variables-rules)
+ [파이프라인 작업에 사용할 수 있는 변수](#reference-variables-list)

## 개념
<a name="reference-variables-concepts"></a>

이 단원에서는 변수 및 네임스페이스와 관련된 주요 용어와 개념을 설명합니다.

### 변수
<a name="reference-variables-concepts-variablekeys"></a>

변수는 파이프라인에서 작업을 동적으로 구성하는 데 사용할 수 있는 키-값 페어입니다. 현재 이러한 변수를 사용할 수 있는 세 가지 방법이 있습니다.
+ 각 파이프라인 실행을 시작할 때 묵시적으로 사용할 수 있는 변수 집합이 있습니다. 이 집합에는 현재 파이프라인 실행의 ID인 `PipelineExecutionId`이 포함되어 있습니다.
+ 파이프라인 수준의 변수는 파이프라인이 생성되고 파이프라인 런타임에서 해결될 때 정의됩니다.

  파이프라인 생성 시 파이프라인 수준 변수를 지정하고 파이프라인 실행 시 값을 제공할 수 있습니다.
+ 작업이 실행될 때 변수 집합을 생성하는 작업 유형이 있습니다. [ListActionExecutions](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_ListActionExecutions.html) API의 일부인 `outputVariables` 필드를 검사하여 작업에 의해 생성된 변수를 확인할 수 있습니다. 작업 공급자별로 사용 가능한 키 이름의 목록은 [파이프라인 작업에 사용할 수 있는 변수](#reference-variables-list) 단원을 참조하십시오. 각 작업 유형이 생성하는 변수를 확인하려면 CodePipeline [작업 구조 참조](action-reference.md) 단원을 참조하세요.

작업 구성에서 이러한 변수를 참조하려면 올바른 네임스페이스와 함께 변수 참조 구문을 사용해야 합니다.

 변수 워크플로의 예는 [변수 구성](#reference-variables-workflow) 단원을 참조하십시오.

### 네임스페이스
<a name="reference-variables-concepts-namespaces"></a>

변수를 고유하게 참조할 수 있도록 하려면 해당 변수를 네임스페이스에 할당해야 합니다. 네임스페이스에 할당된 변수 집합이 있다면 다음 구문과 함께 네임스페이스 및 변수 키를 사용하여 작업 구성에서 이를 참조할 수 있습니다.

```
#{namespace.variable_key}
```

세 가지 유형의 네임스페이스 하에서 변수를 할당할 수 있습니다.
+ **코드 파이프라인 예약 네임스페이스**

  각 파이프라인 실행을 시작할 때 사용할 수 있는 암묵적 변수 집합에 할당되는 네임스페이스입니다. 이 네임스페이스는 `codepipeline`입니다. 변수 참조 예:

  ```
  #{codepipeline.PipelineExecutionId}
  ```
+ **파이프라인 수준의 변수 네임스페이스**

  이는 파이프라인 수준의 변수에 할당된 네임스페이스입니다. 파이프라인 수준의 모든 변수에 대한 네임스페이스는 `variables`입니다. 변수 참조 예:

  ```
  #{variables.variable_name}
  ```
+ **작업에 할당된 네임스페이스**

  작업에 할당하는 네임스페이스입니다. 작업에서 생성되는 모든 변수가 이 네임스페이스에 속합니다. 작업에서 생성되는 변수를 다운스트림 작업 구성에서 사용할 수 있도록 하려면 네임스페이스를 사용하여 생성 작업을 구성해야 합니다. 네임스페이스는 파이프라인 정의에서 고유해야 하며 어떤 아티팩트 이름과도 충돌해서는 안 됩니다. 다음은 네임스페이스 `SourceVariables`로 구성된 작업에 대한 변수 참조 예제입니다.

  ```
  #{SourceVariables.VersionId}
  ```

## 변수 사용 사례
<a name="reference-variables-cases"></a>

다음은 파이프라인 수준의 가장 일반적인 몇 가지 변수 사용 사례로, 특정 요구 사항에 맞게 변수를 사용하는 방법을 결정하는 데 도움이 됩니다.
+ 파이프라인 수준의 변수는 매번 동일한 파이프라인을 사용하면서 작업 구성 입력에 약간의 변형을 주고자 하는 CodePipeline 고객을 위한 것입니다. 파이프라인을 시작하는 모든 개발자는 파이프라인 시작 시 UI에 변수 값을 추가합니다. 이 구성에서는 해당 실행에 대한 파라미터만 전달합니다.
+ 파이프라인 수준 변수를 사용하면 파이프라인의 작업에 동적 입력을 전달할 수 있습니다. 동일한 파이프라인의 다른 버전을 유지 관리하거나 복잡한 파이프라인을 생성할 필요 없이 파라미터화된 파이프라인을 CodePipeline으로 마이그레이션할 수 있습니다.
+ 파이프라인 수준 변수를 사용하여 입력 파라미터를 전달하면 각 실행에서 파이프라인을 재사용할 수 있습니다. 예를 들어 프로덕션 환경에 배포할 버전을 지정하려는 경우 파이프라인을 복제하지 않아도 됩니다.
+ 단일 파이프라인을 사용하여 여러 빌드 및 배포 환경에 리소스를 배포할 수 있습니다. 예를 들어 CodeCommit 리포지토리가 있는 파이프라인의 경우 파이프라인 수준에서 전달된 CodeBuild 및 CodeDeploy 파라미터를 사용하여 지정된 브랜치 및 대상 배포 환경에서 배포할 수 있습니다.

**참고**  
Amazon ECR, Amazon S3 또는 CodeCommit 소스의 경우 입력 변환 항목을 사용하여 소스 재정의를 생성하여 파이프라인 이벤트에 EventBridge의 `revisionValue`를 사용할 수도 있습니다. 여기서 `revisionValue`는 객체 키, 커밋 또는 이미지 ID의 소스 이벤트 변수에서 파생됩니다. 자세한 내용은 [Amazon ECR 소스 작업 및 EventBridge 리소스](create-cwe-ecr-source.md), [이벤트에 대해 활성화된 소스를 사용하여 Amazon S3 소스 작업에 연결](create-S3-source-events.md), 또는 [CodeCommit 소스 작업 및 EventBridge](triggering.md)의 절차에 포함된 입력 변환 항목의 선택적 단계를 참조하세요.

## 변수 구성
<a name="reference-variables-workflow"></a>

파이프라인 구조의 파이프라인 수준 또는 작업 수준에서 변수를 구성할 수 있습니다.

### 파이프라인 수준에서 변수 구성
<a name="reference-variables-pipeline-level"></a>

파이프라인 수준에서 변수를 하나 이상 추가할 수 있습니다. CodePipeline 작업 구성에서 이 값을 참조할 수 있습니다. 파이프라인을 생성할 때 변수 이름, 기본값, 설명을 추가할 수 있습니다. 변수는 실행 시 확인됩니다.

**참고**  
파이프라인 수준에서 변수의 기본값이 정의되지 않은 경우 변수는 필요한 것으로 간주됩니다. 파이프라인을 시작할 때 모든 필수 변수에 대한 재정의를 지정해야 합니다. 그렇지 않으면 파이프라인 실행이 실패하고 검증 오류가 발생합니다.

파이프라인 구조의 변수 속성을 사용하여 파이프라인 수준에서 변수를 제공합니다. 다음 예제에서 변수 `Variable1` 값은 `Value1`입니다.

```
       "variables": [
            {
                "name": "Variable1",
                "defaultValue": "Value1",
                "description": "description"
            }
        ]
```

파이프라인 JSON 구조의 예는 [파이프라인 스테이지 및 작업 생성](pipelines-create.md) 단원을 참조하세요.

파이프라인 실행 시 전달되는 파이프라인 수준 변수에 대한 자습서는 [자습서: 파이프라인 수준 변수 사용](tutorials-pipeline-variables.md)을 참조하세요.

단, 모든 종류의 소스 작업에서 파이프라인 수준 변수를 사용하는 것은 지원되지 않습니다.

**참고**  
파이프라인 내 일부 작업에 `variables` 네임스페이스가 이미 사용되고 있는 경우 작업 정의를 업데이트하고 충돌하는 작업에 사용할 다른 네임스페이스를 선택해야 합니다.

### 작업 수준에서 변수 구성
<a name="reference-variables-action-level"></a>

작업의 네임스페이스를 선언하여 변수를 생성하도록 작업을 구성합니다. 작업은 변수를 생성하는 작업 공급자 중 하나여야 합니다. 그렇지 않으면 파이프라인 수준의 변수가 사용 가능한 변수가 됩니다.

다음과 같이 네임스페이스를 선언합니다.
+ 콘솔의 **작업 편집** 페이지에서 **Variable namespace(변수 네임스페이스)**에 네임스페이스를 입력합니다.
+ JSON 파이프라인 구조의 `namespace` 파라미터 필드에 네임스페이스를 입력합니다.

이 예제에서는 이름 `SourceVariables`를 사용하여 CodeCommit 소스 작업에 `namespace` 파라미터를 추가합니다. 이렇게 하면 `CommitId` 같은 작업 공급자가 사용할 수 있는 변수를 생성하도록 작업이 구성됩니다.

```
{
    "name": "Source",
    "actions": [
        {
            "outputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "name": "Source",
            {{"namespace": "SourceVariables",}}
            "configuration": {
                "RepositoryName": "MyRepo",
                "BranchName": "mainline",
                "PollForSourceChanges": "false"
            },
            "inputArtifacts": [],
            "region": "us-west-2",
            "actionTypeId": {
                "provider": "CodeCommit",
                "category": "Source",
                "version": "1",
                "owner": "AWS"
            },
            "runOrder": 1
        }
    ]
},
```

그런 다음, 이전 작업에서 생성된 변수를 사용하도록 다운스트림 작업을 구성합니다. 그 방법은 다음과 같습니다.
+ 콘솔의 **작업 편집** 페이지에서 작업 구성 필드에 변수 구문을 입력(다운스트림 작업의 경우)
+ JSON 파이프라인 구조의 작업 구성 필드에 변수 구문을 입력(다운스트림 작업의 경우)

이 예제에서 빌드 작업의 구성 필드에는 작업 실행 시 업데이트되는 환경 변수가 표시됩니다. 이 예제에서는 `#{codepipeline.PipelineExecutionId}`을 사용하여 실행 ID에 대한 네임스페이스와 변수를 지정하고 **\#{SourceVariables.CommitId}**를 사용하여 커밋 ID에 대한 네임스페이스 및 변수를 지정합니다.

```
{
    "name": "Build",
    "actions": [
        {
            "outputArtifacts": [
                {
                    "name": "BuildArtifact"
                }
            ],
            "name": "Build",
            "configuration": {
                "EnvironmentVariables": "[{\"name\":\"Release_ID\",\"value\":\"#{codepipeline.PipelineExecutionId}\",\"type\":\"PLAINTEXT\"},{\"name\":\"Commit_ID\",\"value\":\"#{SourceVariables.CommitId}\",\"type\":\"PLAINTEXT\"}]",
                "ProjectName": "env-var-test"
            },
            "inputArtifacts": [
                {
                    "name": "SourceArtifact"
                }
            ],
            "region": "us-west-2",
            "actionTypeId": {
                "provider": "CodeBuild",
                "category": "Build",
                "version": "1",
                "owner": "AWS"
            },
            "runOrder": 1
        }
    ]
},
```

## 변수 확인
<a name="reference-variables-resolution"></a>

작업이 파이프라인 실행의 일부로 실행될 때마다 생성되는 변수를 생성 작업 이후에 수행되도록 보장된 모든 작업에 사용할 수 있습니다. 소비 작업에서 이러한 변수를 사용하려면 앞의 예제에 나와 있는 구문을 사용하여 소비 작업의 구성에 변수를 추가할 수 있습니다. 소비 작업을 수행하기 전에 CodePipeline에서는 작업 실행을 시작하기 전에 구성에 존재하는 모든 변수 참조를 확인합니다.



![예: 여러 작업에 대한 변수](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/variables-workflow-example.png)


## 변수에 대한 규칙
<a name="reference-variables-rules"></a>

다음 규칙은 변수 구성에 도움이 됩니다.
+ 새 작업 속성을 사용하거나 작업을 편집하여 작업의 네임스페이스와 변수를 지정합니다.
+ 파이프라인 생성 마법사를 사용하면 콘솔에서 마법사에서 생성된 각 작업에 대해 네임스페이스가 생성됩니다.
+ 네임스페이스가 지정되지 않은 경우, 해당 작업에서 생성된 변수는 작업 구성에서 참조할 수 없습니다.
+ 작업에서 생성된 변수를 참조하려면 변수를 생성하는 작업 이후에 참조 작업이 이루어져야 합니다. 이는 해당 작업이 변수를 생성하는 작업보다 나중 단계에 있거나 동일한 단계이지만 실행 순서가 거 빠르다는 것을 의미합니다.

## 파이프라인 작업에 사용할 수 있는 변수
<a name="reference-variables-list"></a>

작업 공급자는 작업에서 생성할 수 있는 변수를 결정합니다.

변수 관리를 위한 단계별 절차는 [변수 작업](actions-variables.md) 단원을 참조하십시오.

### 정의된 변수 키가 있는 작업
<a name="reference-variables-list-defined"></a>

선택이 가능한 네임스페이스와 달리 다음과 같은 작업은 편집이 불가능한 변수 키를 사용합니다. 예를 들어 Amazon S3 작업 공급자의 경우, `ETag` 및 `VersionId` 변수 키만 사용할 수 있습니다.

또한 각 실행은 파이프라인 릴리스 ID와 같이 실행에 대한 데이터를 포함하는 CodePipeline에서 생성된 파이프라인 변수 집합을 가지고 있습니다. 이러한 변수는 파이프라인의 모든 작업에서 사용될 수 있습니다.

**Topics**
+ [CodePipeline 실행 ID 변수](#w2aac64c33b7b9)
+ [Amazon ECR 작업 출력 변수](#reference-variables-output-ECR)
+ [CloudFormation StackSets 작업 출력 변수](#reference-variables-output-StackSets)
+ [CodeCommit 작업 출력 변수](#reference-variables-output-CodeCommit)
+ [CodeStarSourceConnection 작업 출력 변수](#reference-variables-output-CodeConnections)
+ [GitHub 작업 출력 변수(GitHub(OAuth 앱 사용) 작업)](#reference-variables-output-GitHub-version1)
+ [S3 작업 출력 변수](#reference-variables-output-S3)

#### CodePipeline 실행 ID 변수
<a name="w2aac64c33b7b9"></a>


**CodePipeline 실행 ID 변수**  

| 제공업체 | 변수 키 | 예시 값 | 예제 변수 구문 | 
| --- | --- | --- | --- | 
| CodePipeline | PipelineExecutionId | 8abc75f0-fbf8-4f4c-bfEXAMPLE | \#{codepipeline.PipelineExecutionId} | 

#### Amazon ECR 작업 출력 변수
<a name="reference-variables-output-ECR"></a>


**Amazon ECR 변수**  

| 변수 키 | 예시 값 | 예제 변수 구문 | 
| --- | --- | --- | 
| ImageDigest | sha256:EXAMPLE1122334455 | \#{SourceVariables.ImageDigest} | 
| ImageTag | 최신 | \#{SourceVariables.ImageTag} | 
| ImageURI | 11111EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest | \#{SourceVariables.ImageURI} | 
| RegistryId | EXAMPLE12233 | \#{SourceVariables.RegistryId} | 
| RepositoryName | my-image-repo | \#{SourceVariables.RepositoryName} | 

#### CloudFormation StackSets 작업 출력 변수
<a name="reference-variables-output-StackSets"></a>


**CloudFormation StackSets 변수**  

| 변수 키 | 예시 값 | 예제 변수 구문 | 
| --- | --- | --- | 
| OperationId | 11111111-2bbb-111-2bbb-11111example | \#{DeployVariables.OperationId} | 
| StackSetId | my-stackset:1111aaaa-1111-2222-2bbb-11111example | \#{DeployVariables.StackSetId} | 

#### CodeCommit 작업 출력 변수
<a name="reference-variables-output-CodeCommit"></a>


**CodeCommit 변수**  

| 변수 키 | 예시 값 | 예제 변수 구문 | 
| --- | --- | --- | 
| AuthorDate | 2019-10-29T03:32:21Z | \#{SourceVariables.AuthorDate} | 
| BranchName | 개발 | \#{SourceVariables.BranchName} | 
| CommitId | exampleb01f91b31 | \#{SourceVariables.CommitId} | 
| CommitMessage | 버그 수정(최대 크기 100KB) | \#{SourceVariables.CommitMessage} | 
| CommitterDate | 2019-10-29T03:32:21Z | \#{SourceVariables.CommitterDate} | 
| RepositoryName | myCodeCommitRepo | \#{SourceVariables.RepositoryName} | 

#### CodeStarSourceConnection 작업 출력 변수
<a name="reference-variables-output-CodeConnections"></a>

사용 가능한 출력 변수는 트리거 유형(푸시, 풀 요청 또는 태그)에 따라 다릅니다. 다음 표에서 *모두*로 표시된 변수는 모든 트리거 유형에 대해 생성됩니다. 특정 트리거 유형으로 표시된 변수는 해당 트리거에 의해 파이프라인 실행이 시작될 때만 생성됩니다.


**`CodeStarSourceConnection` 변수(Bitbucket Cloud, GitHub, GitHub Enterprise Repository 및 GitLab.com)**  

| 변수 키 | 예시 값 | 예제 변수 구문 | 트리거 유형 | 
| --- | --- | --- | --- | 
| AuthorDate | 2019-10-29T03:32:21Z | \#{SourceVariables.AuthorDate} | 모두 | 
| AuthorDisplayName | Jane Doe | \#{SourceVariables.AuthorDisplayName} | 모두 | 
| AuthorEmail | jane.doe@example.com | \#{SourceVariables.AuthorEmail} | 모두 | 
| AuthorId | janedoe | \#{SourceVariables.AuthorId} | 모두 | 
| BranchName | 개발 | \#{SourceVariables.BranchName} | 푸시, 태그 | 
| CommitId | exampleb01f91b31 | \#{SourceVariables.CommitId} | 모두 | 
| CommitMessage | 버그 수정(최대 크기 100KB) | \#{SourceVariables.CommitMessage} | 모두 | 
| ConnectionArn | arn:aws:codestar-connections:region:{{account-id}}:connection/{{connection-id}} | \#{SourceVariables.ConnectionArn} | 모두 | 
| DestinationBranchName | 기본 | \#{SourceVariables.DestinationBranchName} | 풀 요청 | 
| FullRepositoryName | 사용자 이름/GitHubRepo | \#{SourceVariables.FullRepositoryName} | 모두 | 
| ProviderType | GitHub | \#{SourceVariables.ProviderType} | 모두 | 
| PullRequestId | 1 | \#{SourceVariables.PullRequestId} | 풀 요청 | 
| PullRequestTitle | 새 기능 추가 | \#{SourceVariables.PullRequestTitle} | 풀 요청 | 
| SourceBranchName | 특성 분기 | \#{SourceVariables.SourceBranchName} | 풀 요청 | 
| TagName | v1.0.0 | \#{SourceVariables.TagName} | 태그 | 

#### GitHub 작업 출력 변수(GitHub(OAuth 앱 사용) 작업)
<a name="reference-variables-output-GitHub-version1"></a>


**GitHub 변수(GitHub(OAuth 앱 사용) 작업)**  

| 변수 키 | 예시 값 | 예제 변수 구문 | 
| --- | --- | --- | 
| AuthorDate | 2019-10-29T03:32:21Z | \#{SourceVariables.AuthorDate} | 
| BranchName | 기본 | \#{SourceVariables.BranchName} | 
| CommitId | exampleb01f91b31 | \#{SourceVariables.CommitId} | 
| CommitMessage | 버그 수정(최대 크기 100KB) | \#{SourceVariables.CommitMessage} | 
| CommitterDate | 2019-10-29T03:32:21Z | \#{SourceVariables.CommitterDate} | 
| CommitUrl |  | \#{SourceVariables.CommitUrl} | 
| RepositoryName | myGitHubRepo | \#{SourceVariables.RepositoryName} | 

#### S3 작업 출력 변수
<a name="reference-variables-output-S3"></a>


**S3 변수**  

| 변수 키 | 예시 값 | 예제 변수 구문 | 
| --- | --- | --- | 
| ETag | example28be1c3 | \#{SourceVariables.ETag} | 
| VersionId | exampleta\_IUQCv | \#{SourceVariables.VersionId} | 

### 사용자가 구성한 변수 키를 사용한 작업
<a name="reference-variables-list-configured"></a>

CodeBuild CloudFormation및 Lambda 작업의 경우 사용자가 변수 키를 구성합니다.

**Topics**
+ [CloudFormation 작업 출력 변수](#w2aac64c33b9b7)
+ [CodeBuild 작업 출력 변수](#reference-variables-list-configured-codebuild)
+ [Lambda 작업 출력 변수](#w2aac64c33b9c11)

#### CloudFormation 작업 출력 변수
<a name="w2aac64c33b9b7"></a>


**CloudFormation 변수**  

| 변수 키 | 예제 변수 구문 | 
| --- | --- | 
|  CloudFormation 작업의 경우 변수는 스택 템플릿의 `Outputs` 섹션에 지정된 모든 값에서 생성됩니다. 출력을 생성하는 유일한 CloudFormation 작업 모드는 스택 생성, 스택 업데이트 및 변경 세트 실행과 같이 스택을 생성하거나 업데이트하는 모드입니다. 변수를 생성하는 해당 작업 모드는 다음과 같습니다.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/reference-variables.html)이러한 작업 모드에 대한 자세한 내용은 [CloudFormation 배포 작업 참조](action-reference-CloudFormation.md) 단원을 참조하세요. CloudFormation 출력 변수를 사용하는 파이프라인에서 CloudFormation 배포 작업을 사용하여 파이프라인을 생성하는 방법을 보여주는 자습서는 섹션을 참조하세요[자습서: AWS CloudFormation 배포 작업의 변수를 사용하는 파이프라인 생성](tutorials-cloudformation-action.md). | \#{DeployVariables.StackName} | 

#### CodeBuild 작업 출력 변수
<a name="reference-variables-list-configured-codebuild"></a>


**CodeBuild 변수**  

| 변수 키 | 예제 변수 구문 | 
| --- | --- | 
| CodeBuild 작업의 경우 내보낸 환경 변수로 생성된 값에서 변수가 생성됩니다. CodePipeline에서 CodeBuild 작업을 편집하거나 빌드 사양에 환경 변수를 추가하여 CodeBuild 환경 변수를 설정합니다.<br />CodeBuild 빌드 사양에 지침을 추가하여 내보낸 변수 섹션 아래에 환경 변수를 추가하세요.AWS CodeBuild 사용 안내서의 [env/exported-variables](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.exported-variables)를 참조하세요.** |  <pre>#{BuildVariables.EnvVar}</pre>  | 

#### Lambda 작업 출력 변수
<a name="w2aac64c33b9c11"></a>


**Lambda 변수**  

| 변수 키 | 예제 변수 구문 | 
| --- | --- | 
| Lambda 작업을 수행하면 [PutJobSuccessResult API](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_PutJobSuccessResult.html) 요청의 outputVariables 섹션에 포함된 모든 키-값 페어가 변수로 생성됩니다.업스트림 작업(CodeCommit)의 변수를 사용하고 출력 변수를 생성하는 Lambda 작업에 대한 자습서는 [자습서: Lambda 호출 작업과 함께 변수 사용](tutorials-lambda-variables.md) 섹션을 참조하세요. | \#{TestVariables.testRunId} | 