

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

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

# 워크플로에 소스 리포지토리 연결
<a name="workflows-sources"></a>

*입력 소스*라고도 하는 *소스*는 [워크플로 작업](workflows-actions.md)이 작업을 수행하는 데 필요한 파일을 얻기 위해 연결되는 소스 리포지토리입니다. 예를 들어 워크플로 작업은 애플리케이션을 빌드하기 위해 애플리케이션 소스 파일을 얻기 위해 소스 리포지토리에 연결할 수 있습니다.

CodeCatalyst 워크플로는 다음 소스를 지원합니다.
+ CodeCatalyst 소스 리포지토리 - 자세한 내용은 [CodeCatalyst의 소스 리포지토리로 코드 저장 및 협업소스 리포지토리를 사용하여 코드 저장 및 협업](source.md) 섹션을 참조하세요.
+ GitHub 리포지토리, Bitbucket 리포지토리 및 GitLab 프로젝트 리포지토리 - 자세한 내용은 [CodeCatalyst에서 확장 프로그램이 있는 프로젝트에 기능 추가확장 프로그램이 있는 프로젝트에 기능 추가](extensions.md) 섹션을 참조하세요.

**Topics**
+ [워크플로 파일의 소스 리포지토리 지정](workflows-sources-specify-workflow-def.md)
+ [워크플로 작업의 소스 리포지토리 지정](workflows-sources-specify-action.md)
+ [소스 리포지토리 파일 참조](workflows-sources-reference-files.md)
+ ['BranchName' 및 'CommitId' 변수](workflows-sources-variables.md)

# 워크플로 파일의 소스 리포지토리 지정
<a name="workflows-sources-specify-workflow-def"></a>

다음 지침에 따라 워크플로 정의 파일을 저장할 CodeCatalyst 소스 리포지토리를 지정합니다. GitHub 리포지토리, Bitbucket 리포지토리 또는 GitLab 프로젝트 리포지토리를 지정하려면 대신 [CodeCatalyst에서 확장 프로그램이 있는 프로젝트에 기능 추가확장 프로그램이 있는 프로젝트에 기능 추가](extensions.md)를 참조하세요.

워크플로 정의 파일이 있는 소스 리포지토리는 `WorkflowSource` 레이블로 식별됩니다.

**참고**  
워크플로 정의 파일을 처음 커밋할 때 워크플로 정의 파일이 있는 소스 리포지토리를 지정합니다. 이 커밋 후에는 리포지토리와 워크플로 정의 파일이 영구적으로 서로 연결됩니다. 초기 커밋 후 리포지토리를 변경하는 유일한 방법은 다른 리포지토리에서 워크플로를 다시 만드는 것입니다.

**워크플로 정의 파일을 저장할 소스 리포지토리 지정**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. **워크플로 생성**을 선택하여 워크플로를 생성합니다. 자세한 내용은 [워크플로 생성](workflows-create-workflow.md) 섹션을 참조하세요.

   워크플로 생성 과정에서 워크플로 정의 파일을 저장할 CodeCatalyst 리포지토리, 브랜치 및 폴더를 지정할 수 있습니다.

# 워크플로 작업의 소스 리포지토리 지정
<a name="workflows-sources-specify-action"></a>

다음 지침에 따라 워크플로 작업에 사용할 소스 리포지토리를 지정합니다. 시작 시 작업은 구성된 소스 리포지토리에 있는 파일을 아티팩트로 번들링하고, 작업이 실행 중인 [런타임 환경 Docker 이미지](build-images.md)로 아티팩트를 다운로드한 다음 다운로드한 파일을 사용하여 처리를 완료합니다.

**참고**  
현재 워크플로 작업 내에서 소스 리포지토리는 워크플로 정의 파일이 있는 소스 리포지토리(`.codecatalyst/workflows/` 디렉터리 또는 그 하위 디렉터리 중 하나)를 하나만 지정할 수 있습니다. 이 소스 리포지토리는 `WorkflowSource` 레이블로 표시됩니다.

------
#### [ Visual ]

**작업이 사용할 소스 리포지토리 지정(시각적 편집기)**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

1. **편집**을 선택합니다.

1. **비주얼**을 선택합니다.

1. 워크플로 다이어그램에서 소스를 지정하려는 작업을 선택합니다.

1. **입력**을 선택합니다.

1. **소스 - 선택 사항**으로 다음을 수행합니다.

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

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

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

1. (선택 사항) 커밋하기 전에 워크플로의 YAML 코드를 검증하려면 **검증**을 선택합니다.

1. **커밋**을 선택하고 커밋 메시지를 입력한 다음 **커밋**을 다시 선택합니다.

------
#### [ YAML ]

**작업이 사용할 소스 리포지토리 지정(YAML 편집기)**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 프로젝트를 선택합니다.

1. 탐색 창에서 **CI/CD**를 선택한 다음 **워크플로**를 선택합니다.

1. 워크플로의 이름을 선택합니다. 소스 리포지토리 또는 워크플로가 정의된 브랜치 이름을 기준으로 필터링하거나, 워크플로 이름 또는 상태를 기준으로 필터링할 수 있습니다.

1. **편집**을 선택합니다.

1. **YAML**을 선택합니다.

1. 작업에서 다음과 유사한 코드를 추가합니다.

   ```
   action-name:
    Inputs:
      Sources:
        - WorkflowSource
   ```

   자세한 내용은 작업에 대한 [워크플로 YAML 정의](workflow-reference.md)의 `Sources` 속성 설명을 참조하세요.

1. (선택 사항) 커밋하기 전에 워크플로의 YAML 코드를 검증하려면 **검증**을 선택합니다.

1. **커밋**을 선택하고 커밋 메시지를 입력한 다음 **커밋**을 다시 선택합니다.

------

# 소스 리포지토리 파일 참조
<a name="workflows-sources-reference-files"></a>

소스 리포지토리에 있는 파일이 있고 워크플로 작업 중 하나에서 이러한 파일을 참조해야 하는 경우 다음 절차를 완료하세요.

**참고**  
또한 [아티팩트의 파일 참조](workflows-working-artifacts-refer-files.md) 섹션도 참조하세요.

**소스 리포지토리에 저장된 파일 참조**
+ 파일을 참조하려는 작업에서 다음과 유사한 코드를 추가합니다.

  ```
  Actions:
    My-action:
      Inputs:
        Sources:
          - WorkflowSource
        Configuration:
          Steps:
          - run: cd my-app && cat file1.jar
  ```

  이전 코드에서 작업은 `WorkflowSource` 소스 리포지토리 루트의 `my-app` 디렉터리에서 `file1.jar` 파일을 찾아 표시합니다.

# 'BranchName' 및 'CommitId' 변수
<a name="workflows-sources-variables"></a>

CodeCatalyst 소스는 워크플로가 실행될 때 `BranchName` 및 `CommitId` 변수를 생성하고 설정합니다. 이를 *사전 정의된 변수*라고 합니다. 이러한 변수에 대한 자세한 내용은 다음 표를 참조하세요.

워크플로에서 이러한 변수를 참조하는 방법에 대한 자세한 내용은 [사전 정의된 변수 사용](workflows-using-predefined-variables.md) 섹션을 참조하세요.


| Key(키) | 값 | 
| --- | --- | 
|  CommitId  |  워크플로 실행이 시작된 시점의 리포지토리 상태를 나타내는 커밋 ID입니다. 예시: `example3819261db00a3ab59468c8b` 또한 [예시: 'CommitId' 사전 정의된 변수 참조](workflows-predefined-examples.md#workflows-working-with-variables-ex-refer-action) 섹션도 참조하세요.  | 
|  BranchName  |  워크플로 실행이 시작된 브랜치의 이름입니다. 예: `main`, `feature/branch`, `test-LiJuan`  또한 [예시: 'BranchName' 사전 정의된 변수 참조](workflows-predefined-examples.md#workflows-working-with-variables-ex-branch) 섹션도 참조하세요.  | 