

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

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

# 워크플로 개념
<a name="workflows-concepts"></a>

CodeCatalyst에서 워크플로를 사용하여 코드를 빌드, 테스트 또는 배포할 때 알아야 할 몇 가지 개념과 용어는 다음과 같습니다.

## 워크플로
<a name="workflows-concepts-workflows"></a>

*워크플로*는 지속적 통합 및 지속적 전송(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="workflows-concepts-workflows-def"></a>

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

워크플로 정의 파일에 대한 자세한 내용은 [워크플로 YAML 정의](workflow-reference.md) 섹션을 참조하세요.

## 작업
<a name="workflows-concepts-actions"></a>

*작업*은 워크플로의 기본 구성 요소이며 워크플로 실행 중에 수행할 논리적 작업 단위 또는 태스크를 정의합니다. 일반적으로 워크플로에는 구성 방식에 따라 순차적으로 또는 병렬로 실행되는 여러 작업이 포함됩니다.

작업에 대한 자세한 내용은 [워크플로 작업 구성](workflows-actions.md) 섹션을 참조하세요.

## 작업 그룹
<a name="workflows-concepts-action-groups"></a>

*작업 그룹*에는 하나 이상의 작업이 포함됩니다. 작업을 작업 그룹으로 그룹화하면 워크플로를 체계적으로 관리할 수 있고, 서로 다른 그룹 간의 종속성을 구성할 수도 있습니다.

작업 그룹에 대한 자세한 내용은 [작업을 작업 그룹으로 그룹화](workflows-group-actions.md) 섹션을 참조하세요.

## 아티팩트
<a name="workflows-concepts-artifacts"></a>

*아티팩트*는 워크플로 작업의 출력이며 일반적으로 폴더 또는 파일 아카이브로 구성됩니다. 아티팩트를 사용하면 작업 간에 파일과 정보를 공유할 수 있기 때문에 아티팩트가 중요합니다.

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

## 컴퓨팅
<a name="workflows-concepts-compute"></a>

*컴퓨팅*은 워크플로 작업을 실행하기 위해 CodeCatalyst에서 관리 및 유지 관리하는 컴퓨팅 엔진(CPU, 메모리 및 운영 체제)을 의미합니다.

컴퓨팅에 대한 자세한 내용은 [컴퓨팅 및 런타임 이미지 구성](workflows-working-compute.md) 섹션을 참조하세요.

## 환경
<a name="workflows-concepts-environments"></a>

[개발](https://docs.aws.amazon.com/codecatalyst/latest/userguide/devenvironment.html) *환경*과 혼동해서는 안 되는 CodeCatalyst 환경은 CodeCatalyst [워크플로](workflow.md)가 연결되는 대상 AWS 계정 및 선택적 Amazon VPC를 정의합니다. 또한 환경은 워크플로가 대상 계정 내의 AWS 서비스 및 리소스에 액세스하는 데 필요한 [IAM 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) 정의합니다.

여러 환경을 설정하고 개발, 테스트, 스테이징 및 프로덕션과 같은 이름을 지정할 수 있습니다. 이러한 환경에 배포하면 배포에 대한 정보가 환경의 CodeCatalyst **배포 활동** 및 **배포 대상** 탭에 표시됩니다.

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

## 게이트
<a name="workflows-concepts-gates"></a>

*게이트*는 특정 조건이 충족되지 않으면 워크플로 실행이 진행되지 않도록 하는 데 사용할 수 있는 워크플로 구성 요소입니다. 게이트의 예시로는 사용자가 워크플로 실행을 계속하기 전에 CodeCatalyst 콘솔에서 승인을 제출해야 하는 **승인** 게이트를 들 수 있습니다.

워크플로의 일련의 작업 사이에 또는 첫 번째 작업(**소스** 다운로드 직후에 실행되는) 전에 게이트를 추가할 수 있습니다. 필요한 경우 마지막 작업 후 게이트를 추가할 수도 있습니다.

게이트에 대한 자세한 내용은 [워크플로 게이팅](workflows-gates.md) 섹션을 참조하세요.

## Reports
<a name="workflows-concepts-test-reports"></a>

*보고서*에는 워크플로 실행 중에 발생하는 테스트에 대한 세부 정보가 포함되어 있습니다. 테스트 보고서, 코드 적용 범위 보고서, 소프트웨어 구성 분석 보고서 및 정적 분석 보고서와 같은 보고서를 생성할 수 있습니다. 보고서를 사용하여 워크플로 중 문제를 해결하는 데 도움을 받을 수 있습니다. 여러 워크플로의 보고서가 많은 경우 보고서를 사용하여 추세와 실패율을 확인하여 애플리케이션 및 배포 구성을 최적화할 수 있습니다.

보고서에 대한 자세한 내용은 [품질 보고서 유형](test-workflow-actions.md#test-reporting)의 내용을 참조하세요.

## 실행
<a name="workflows-concepts-runs"></a>

*실행*은 워크플로의 단일 반복입니다. 실행하는 동안 CodeCatalyst는 워크플로 구성 파일에 정의된 작업을 수행하고 관련 로그, 아티팩트 및 변수를 출력합니다.

실행에 대한 자세한 내용은 [워크플로 실행](workflows-working-runs.md) 섹션을 참조하세요.

## 소스
<a name="workflows-concepts-sources"></a>

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

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

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

 *변수*는 Amazon CodeCatalyst 워크플로에서 참조할 수 있는 정보를 포함하는 키-값 페어입니다. 변수의 값 부분은 워크플로가 실행될 때 실제 값으로 대체됩니다.

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

## 워크플로 트리거
<a name="workflows-concepts-triggers"></a>

*워크플로 트리거* 또는 간단히 *트리거*를 사용하면 코드 푸시와 같은 특정 이벤트가 발생하면 워크플로 실행을 자동으로 시작할 수 있습니다. 트리거를 구성하여 소프트웨어 개발자가 CodeCatalyst 콘솔을 통해 워크플로 실행을 수동으로 시작하지 않아도 되도록 할 수 있습니다.

세 가지 유형의 트리거를 사용할 수 있습니다.
+ **푸시** - 코드 푸시 트리거는 커밋이 푸시될 때마다 워크플로 실행을 시작하도록 합니다.
+ **풀 요청** - 풀 요청 트리거는 풀 요청이 생성, 수정 또는 종료될 때마다 워크플로 실행을 시작하게 합니다.
+ **일정** - 일정 트리거는 정의한 일정에 따라 워크플로 실행이 시작되도록 합니다. 소프트웨어 개발자가 다음 날 아침에 작업할 수 있도록 최신 빌드를 준비할 수 있도록 일정 트리거를 사용하여 소프트웨어의 야간 빌드를 실행하는 것을 고려하세요.

푸시, 풀 요청 및 예약 트리거를 단독으로 사용하거나 동일한 워크플로에서 조합하여 사용할 수 있습니다.

트리거는 선택 사항입니다. 구성하지 않으면 워크플로를 수동으로만 시작할 수 있습니다.

트리거에 대한 자세한 내용은 [트리거를 사용하여 워크플로 실행 자동 시작](workflows-add-trigger.md) 주제를 참조하세요.