

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

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

# 워크플로를 사용하여 빌드, 테스트 및 배포
<a name="workflow"></a>

[CodeCatalyst 개발 환경](devenvironment.md)에 애플리케이션 코드를 쓰고 이를 [CodeCatalyst 소스 리포지토리 ](source.md)에 푸시하고 나면 배포할 준비가 되었습니다. 이를 자동으로 수행하는 방법은 워크플로를 통하는 것입니다.

*워크플로*는 지속적 통합 및 지속적 전송(CI/CD) 시스템의 일부로 코드를 빌드, 테스트 및 배포하는 방법을 설명하는 자동화된 절차입니다. 워크플로는 워크플로 실행 중에 수행할 일련의 단계 또는 *작업*을 정의합니다. 또한 워크플로는 워크플로를 시작하게 하는 이벤트 또는 *트리거*를 정의합니다. 워크플로를 설정하려면 CodeCatalyst 콘솔의 [시각적 또는 YAML 편집기](https://docs.aws.amazon.com//codecatalyst/latest/userguide/flows.html#workflow.editors)를 사용하여 *워크플로 정의 파일*을 생성합니다.

**작은 정보**  
프로젝트에서 워크플로를 사용하는 방법을 간략하게 알아보려면 [블루프린트가 있는 프로젝트를 생성](https://docs.aws.amazon.com//codecatalyst/latest/userguide/projects-create.html#projects-create-console-template)합니다. 각 블루프린트는 검토, 실행 및 실험할 수 있는 기능 워크플로를 배포합니다.

## 워크플로 정의 파일 정보
<a name="workflow.example"></a>

*워크플로 정의 파일*은 워크플로를 설명하는 YAML 파일입니다. 기본적으로 파일은 [소스 리포지토리](source-repositories.md)의 루트에 있는 `~/.codecatalyst/workflows/` 폴더에 저장됩니다. 파일은 확장자가 .yml 또는 .yaml일 수 있으며 확장자는 소문자여야 합니다.

다음은 간단한 워크플로 정의 파일의 예시입니다. 다음 테이블에서 이 예시의 각 줄에 대해 설명합니다.

```
Name: MyWorkflow
SchemaVersion: 1.0
RunMode: QUEUED
Triggers:
  - Type: PUSH
    Branches:
      - main
Actions:
  Build:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:     
      Steps:
        - Run: docker build -t MyApp:latest .
```


| 행 | 설명 | 
| --- | --- | 
|  <pre>Name: MyWorkflow</pre>  | 워크플로의 이름을 지정합니다. `Name` 속성에 대한 자세한 내용은 [최상위 속성](workflow-reference.md#workflow.top.level) 섹션을 참조하세요. | 
|  <pre>SchemaVersion: 1.0</pre>  | 워크플로 스키마 버전을 지정합니다. `SchemaVersion` 속성에 대한 자세한 내용은 [최상위 속성](workflow-reference.md#workflow.top.level) 섹션을 참조하세요. | 
|  <pre>RunMode: QUEUED</pre>  | CodeCatalyst가 여러 실행을 처리하는 방법을 나타냅니다. 실행 모드에 대한 자세한 내용은 [실행의 대기열 동작 구성](workflows-configure-runs.md) 섹션을 참조하세요. | 
|  <pre>Triggers:</pre>  | 워크플로 실행을 시작할 로직을 지정합니다. 트리거에 대한 자세한 내용은 [트리거를 사용하여 워크플로 실행 자동 시작](workflows-add-trigger.md) 주제를 참조하세요. | 
|  <pre>- Type: PUSH<br />  Branches:<br />    - main</pre>  | 기본 소스 리포지토리의 `main` 브랜치에 코드를 푸시할 때마다 워크플로가 시작되어야 함을 나타냅니다. 워크플로 소스에 대한 자세한 내용은 [워크플로에 소스 리포지토리 연결](workflows-sources.md) 섹션을 참조하세요. | 
|  <pre>Actions:</pre>  | 워크플로 실행 중에 수행할 작업을 정의합니다. 이 예시에서는 `Actions` 섹션은 `Build`라는 단일 작업을 정의합니다. 작업에 대한 자세한 내용은 [워크플로 작업 구성](workflows-actions.md) 섹션을 참조하세요. | 
|  <pre>Build:</pre>  | `Build` 작업의 속성을 정의합니다. 빌드 작업에 대한 자세한 내용은 [워크플로로 빌드하기](build-workflow-actions.md) 섹션을 참조하세요. | 
|  <pre>Identifier: aws/build@v1</pre>  | 빌드 작업의 하드 코딩된 고유 식별자를 지정합니다. | 
|  <pre>Inputs:<br />  Sources:<br />    - WorkflowSource</pre>  | 빌드 작업이 처리를 완료하는 데 필요한 파일을 찾기 위해 `WorkflowSource` 소스 리포지토리에서 확인되어야 함을 나타냅니다. 자세한 내용은 [워크플로에 소스 리포지토리 연결](workflows-sources.md) 섹션을 참조하세요. | 
|  <pre>Configuration:</pre>  | 빌드 작업과 관련된 구성 속성을 포함합니다. | 
|  <pre>Steps:<br />  - Run: docker build -t MyApp:latest .</pre>  | 빌드 작업에 `MyApp`이라는 Docker 이미지를 빌드하고 `latest`로 태그를 지정하도록 지시합니다. | 

워크플로 정의 파일에서 사용 가능한 모든 속성의 전체 목록은 [워크플로 YAML 정의](workflow-reference.md) 섹션을 참조하세요.

## CodeCatalyst 콘솔의 시각적 및 YAML 편집기 사용
<a name="workflow.editors"></a>

워크플로 정의 파일을 생성하고 편집하려면 원하는 편집기를 사용할 수 있지만 CodeCatalyst 콘솔의 시각적 편집기 또는 YAML 편집기를 사용하는 것이 좋습니다. 이러한 편집기는 YAML 속성 이름, 값, 중첩, 간격, 대문자 표기 등이 올바른지 확인하는 데 도움이 되는 파일 검증을 제공합니다.

다음 이미지는 시각적 편집기의 워크플로를 보여줍니다. 시각적 편집기는 워크플로 정의 파일을 생성하고 구성할 수 있는 완전한 사용자 인터페이스를 제공합니다. 시각적 편집기에는 워크플로의 기본 구성 요소를 보여주는 워크플로 다이어그램(1)과 구성 영역(2)이 포함되어 있습니다.

![워크플로 시각적 편집기](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/workflow-visual-editor.png)


또는 다음 이미지에 표시된 YAML 편집기를 사용할 수 있습니다. YAML 편집기를 사용하여 큰 코드 블록(예: 자습서)에 붙여넣거나 시각적 편집기를 통해 제공되지 않는 고급 속성을 추가합니다.

![워크플로 YAML 편집기](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/workflow-yaml-editor.png)


시각적 편집기에서 YAML 편집기로 전환하여 구성이 기본 YAML 코드에 미치는 영향을 확인할 수 있습니다.

## 워크플로 검색
<a name="workflow.discovering"></a>

워크플로 요약 페이지에서 **워크플로**를 볼 수 있으며, 동일한 프로젝트에 설정한 다른 워크플로도 볼 수 있습니다.

다음 이미지는 **워크플로** 요약 페이지를 보여줍니다. **BuildToProd**와 **UnitTests**라는 두 가지 워크플로로 채워집니다. 둘 다 몇 번 실행되었음을 알 수 있습니다. **최근 실행**을 선택하여 실행 기록을 빠르게 보거나 워크플로 이름을 선택하여 워크플로의 YAML 코드 및 기타 세부 정보를 볼 수 있습니다.

![워크플로 로그](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/workflow-list.png)


## 워크플로 실행 세부 정보 보기
<a name="workflow.runs"></a>

**워크플로** 요약 페이지에서 실행을 선택하여 워크플로 실행의 세부 정보를 볼 수 있습니다.

다음 이미지는 소스 커밋 시 자동으로 시작된 **Run-cc11d**라는 워크플로 실행의 세부 정보를 보여줍니다. 워크플로 다이어그램은 작업이 실패했음을 나타냅니다(1). 로그(2)로 이동하여 자세한 로그 메시지를 보고 문제를 해결할 수 있습니다. 워크플로 실행에 대한 자세한 내용은 [워크플로 실행](workflows-working-runs.md) 섹션을 참조하세요.

![워크플로 로그](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/workflow-visual-logs.png)


## 다음 단계
<a name="workflow.next"></a>

워크플로 개념에 대한 자세한 내용은 [워크플로 개념](workflows-concepts.md) 섹션을 참조하세요.

첫 번째 워크플로를 생성하려면 [워크플로 시작하기](workflows-getting-started.md) 섹션을 참조하세요.