

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

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

# 시작하기 자습서
<a name="getting-started-topnode"></a>

Amazon CodeCatalyst는 프로젝트를 시작하는 데 도움이 되는 다양한 템플릿을 제공합니다. 빈 프로젝트로 시작하고 여기에 리소스를 추가하도록 선택할 수도 있습니다. 이 자습서의 단계에 따라 CodeCatalyst에서 작업할 수 있는 몇 가지 방법을 알아봅니다.

CodeCatalyst 처음 사용하는 경우 [자습서: 최신 3계층 웹 애플리케이션 블루프린트로 프로젝트 만들기](getting-started-template-project.md) 섹션부터 시작하는 것이 좋습니다.

**참고**  
이러한 자습서를 따르려면 먼저 설정을 완료해야 합니다. 자세한 내용은 [CodeCatalyst 설정 및 로그인CodeCatalyst 설정 및 로그인](setting-up-topnode.md) 섹션을 참조하세요.

**Topics**
+ [자습서: 최신 3계층 웹 애플리케이션 블루프린트로 프로젝트 만들기](getting-started-template-project.md)
+ [자습서: 빈 프로젝트로 시작하고 수동으로 리소스 추가](getting-started-blank-template.md)
+ [자습서: CodeCatalyst 생성형 AI 기능을 사용하여 개발 작업 속도 향상](getting-started-project-assistance.md)

CodeCatalyst의 특정 기능 영역에 초점을 맞춘 추가 자습서는 다음을 참조하세요.
+ [스택 알림 시작하기](getting-started-notifications.md)
+ [CodeCatalyst 소스 리포지토리 및 단일 페이지 애플리케이션 블루프린트 시작하기](source-getting-started.md)
+ [워크플로 시작하기](workflows-getting-started.md)
+ [사용자 지정 블루프린트 시작하기](getting-started-bp.md)
+ [Amazon CodeCatalyst 작업 개발자 안내서 시작하기](https://docs.aws.amazon.com/codecatalyst/latest/adk/action-development-intro.html)

심층 자습서는 다음을 참조하세요.
+ [자습서: Amazon S3에 아티팩트 업로드](build-deploy.md)
+ [자습서: 서버리스 애플리케이션 배포](deploy-tut-lambda.md)
+ [자습서: Amazon ECS에 애플리케이션 배포](deploy-tut-ecs.md)
+ [자습서: Amazon EKS에 애플리케이션 배포](deploy-tut-eks.md)
+ [자습서: GitHub 작업을 사용한 린트 코드](integrations-github-action-tutorial.md)
+ [자습서: React 애플리케이션 생성 및 업데이트](blueprint-getting-started-tutorial.md)

# 자습서: 최신 3계층 웹 애플리케이션 블루프린트로 프로젝트 만들기
<a name="getting-started-template-project"></a>

블루프린트로 프로젝트를 생성하여 소프트웨어 개발을 더 빠르게 시작할 수 있습니다. 블루프린트로 생성된 프로젝트에는 코드를 관리하는 소스 리포지토리와 애플리케이션을 빌드하고 배포하는 워크플로를 포함하여 필요한 리소스가 포함됩니다. 이 자습서에서는 **최신 3계층 웹 애플리케이션** 블루프린트를 사용하여 Amazon CodeCatalyst에서 프로젝트를 생성하는 방법을 안내합니다. 자습서에는 배포된 샘플 보기, 작업할 다른 사용자 초대, 풀 요청이 병합될 AWS 계정 때 연결된의 리소스에 자동으로 빌드되고 배포되는 풀 요청으로 코드 변경도 포함됩니다. CodeCatalyst가 보고서, 활동 피드 및 기타 도구를 사용하여 프로젝트를 생성하는 경우 블루프린트는 프로젝트와 AWS 계정 연결된에 리소스를 생성합니다 AWS . 블루프린트 파일을 사용하면 샘플 최신 애플리케이션을 빌드 및 테스트하고 AWS 클라우드의 인프라에 배포할 수 있습니다.

다음 그림은 CodeCatalyst의 도구를 사용하여 변경 사항을 추적, 병합 및 자동으로 빌드하는 문제를 생성한 다음 CodeCatalyst 프로젝트에서 인프라를 허용 AWS CDK 하고 프로비저닝하는 작업을 실행하는 워크플로 CloudFormation 를 시작하는 방법을 보여줍니다.

작업은 연결된에서 리소스를 생성하고 API Gateway 엔드포인트를 사용하여 애플리케이션을 서버리스 AWS Lambda함수에 AWS 계정 배포합니다. AWS Cloud Development Kit (AWS CDK) 작업은 하나 이상의 AWS CDK 스택을 CloudFormation 템플릿으로 변환하고에 스택을 배포합니다 AWS 계정. 스택의 리소스에는 동적 웹 콘텐츠를 배포하기 위한 Amazon CloudFront 리소스, 애플리케이션 데이터에 대한 Amazon DynamoDB 인스턴스, 배포된 애플리케이션을 지원하는 역할 및 정책이 포함됩니다.

![\[문제 생성부터 소스 리포지토리 변경까지 코드 변경으로 자동 빌드되어의 리소스에 배포됩니다. AWS\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/modern-app-overview.png)


**최신 3계층 웹 애플리케이션** 블루프린트로 프로젝트를 생성하면 다음 리소스로 프로젝트가 생성됩니다.

**CodeCatalyst 프로젝트에서:**
+ 샘플 코드 및 워크플로 YAML이 있는 [소스 리포지토리](source.md)
+ 기본 브랜치를 변경할 때마다 샘플 코드를 빌드하고 배포하는 [워크플로](workflow.md)
+ 작업을 계획하고 추적하는 데 사용할 수 있는 문제 보드 및 백로그
+ 샘플 코드에 자동 보고서가 포함된 테스트 보고서 제품군

**연결된에서 AWS 계정**:
+ 애플리케이션에 필요한 리소스를 생성하는 세 개의 AWS CloudFormation 스택입니다.

이 자습서의 일부로 AWS 및 CodeCatalyst에서 생성될 리소스에 대한 확장된 세부 정보는 섹션을 참조하세요[레퍼런스](#getting-started-template-project-reference).

**참고**  
프로젝트에 포함된 리소스와 샘플은 선택한 블루프린트에 따라 달라집니다. Amazon CodeCatalyst는 정의된 언어 또는 프레임워크와 관련된 리소스를 정의하는 여러 프로젝트 블루프린트를 제공합니다. 블루프린트에 대한 자세한 내용은 [CodeCatalyst 블루프린트를 사용하여 포괄적인 프로젝트 생성블루프린트를 사용하여 포괄적인 프로젝트 생성](project-blueprints.md) 섹션을 참조하세요.

**Topics**
+ [사전 조건](#getting-started-template-project-prerequisites)
+ [1단계: 최신 3계층 웹 애플리케이션 프로젝트 생성](#getting-started-template-project-proj-create)
+ [2단계: 프로젝트에 초대하기](#getting-started-template-project-ipa-user)
+ [3단계: 협업 및 작업 추적을 위한 문제 생성](#getting-started-template-project-issue)
+ [4단계: 소스 리포지토리 보기](#getting-started-template-project-source)
+ [5단계: 테스트 브랜치를 사용하여 개발 환경 생성 및 빠른 코드 변경](#getting-started-template-project-create-devenvironment)
+ [6단계: 최신 애플리케이션을 빌드하는 워크플로 보기](#getting-started-template-project-view-workflow)
+ [7단계: 다른 사람에게 변경 사항을 검토하도록 요청](#getting-started-template-project-pull-request)
+ [8단계: 문제 종료](#getting-started-template-project-close-issue)
+ [리소스 정리](#getting-started-template-project-clean-up)
+ [레퍼런스](#getting-started-template-project-reference)

## 사전 조건
<a name="getting-started-template-project-prerequisites"></a>

이 자습서에서 최신 애플리케이션 프로젝트를 생성하려면 다음과 같이 [CodeCatalyst 설정 및 로그인CodeCatalyst 설정 및 로그인](setting-up-topnode.md)의 작업을 완료해야 합니다.
+ CodeCatalyst에 로그인하기 위한 AWS Builder ID가 있어야 합니다.
+ 스페이스에 속해 해당 스페이스에서 **스페이스 관리자** 또는 **파워 유저** 역할을 할당받습니다. 자세한 내용은 [스페이스 생성](spaces-create.md), [사용자에게 스페이스 권한 부여](spaces-members.md), [스페이스 관리자 역할](ipa-role-types.md#ipa-role-space-admin) 섹션을 참조하세요.
+ 가 스페이스와 AWS 계정 연결되어 있고 가입 중에 생성한 IAM 역할이 있어야 합니다. 예를 들어, 가입 중에 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할 정책이라는 역할 정책을 사용하여 서비스 역할을 생성하도록 선택할 수 있습니다. 역할에는 고유한 식별자가 추가된 `CodeCatalystWorkflowDevelopmentRole-spaceName` 이름이 있습니다. 역할 및 역할 정책에 대한 자세한 내용은 [**CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할 이해](ipa-iam-roles.md#ipa-iam-roles-service-role) 섹션을 참조하세요. 역할을 생성하는 단계는 [계정 및 스페이스의 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할 생성](ipa-iam-roles.md#ipa-iam-roles-service-create) 섹션을 참조하세요.

## 1단계: 최신 3계층 웹 애플리케이션 프로젝트 생성
<a name="getting-started-template-project-proj-create"></a>

생성한 후에는 코드를 개발 및 테스트하고, 개발 작업을 조정하고, 프로젝트 지표를 볼 수 있습니다. 프로젝트에는 개발 도구 및 리소스도 포함되어 있습니다.

이 자습서에서는 **최신 3계층 웹 애플리케이션** 블루프린트를 사용하여 대화형 애플리케이션을 생성합니다. 프로젝트의 일부로 자동으로 생성되고 실행되는 워크플로는 애플리케이션을 빌드하고 배포합니다. 워크플로는 모든 역할 및 계정 정보가 스페이스에 구성된 후에만 성공적으로 실행됩니다. 워크플로가 성공적으로 실행되면 엔드포인트 URL을 방문하여 애플리케이션을 볼 수 있습니다.

**블루프린트를 사용하여 프로젝트를 생성하려면**

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

1. CodeCatalyst 콘솔에서 프로젝트를 생성하려는 스페이스로 이동합니다.

1. **프로젝트 생성**을 선택합니다.

1. **블루프린트로 시작**을 선택합니다.

1. 검색 창에 **modern**를 입력합니다.

1. **최신 3계층 웹 애플리케이션** 블루프린트를 선택한 다음 **다음**을 선택합니다.

1. **프로젝트 이름**에 프로젝트의 이름을 입력합니다. 예제:

   **MyExampleProject**.
**참고**  
이름은 스페이스 내에서 고유해야 합니다.

1. ** 계정**에서 가입 중에 추가 AWS 계정 한을 선택합니다. 블루프린트는 이 계정에 리소스를 설치합니다.

1. **배포 역할**에서 등록 중에 추가한 역할을 선택합니다. 예를 들어 `CodeCatalystWorkflowDevelopmentRole-spaceName`를 선택합니다.

   나열된 역할이 없는 경우 하나를 추가합니다. 역할을 추가하려면 **IAM 역할 추가**를 선택하고에 역할을 추가합니다 AWS 계정. 자세한 내용은 [연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md) 단원을 참조하십시오.

1. **컴퓨팅 플랫폼**에서 **Lambda**를 선택합니다.

1. **프론트엔드 호스팅 옵션**에서 **Amplify Hosting**을 선택합니다. 에 대한 자세한 내용은 *AWS Amplify 사용 설명서*의 [AWS Amplify 호스팅이란 무엇입니까?](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html)를 AWS Amplify참조하세요.

1. **배포 리전**에 블루프린트가 Mysfits 애플리케이션 및 지원 리소스를 배포하려는 AWS 리전 의 리전 코드를 입력합니다. 리전 코드 목록은 *AWS 일반 참조*의 [리전 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)를 참조하세요.

1. **애플리케이션 이름**에서 기본값인 `mysfitsstring`을 그대로 둡니다.

1. (선택 사항) **프로젝트 미리 보기 생성**에서 **코드 보기**를 선택하여 블루프린트가 설치할 소스 파일을 미리 봅니다. **워크플로 보기**를 선택하여 블루프린트가 설치할 CI/CD 워크플로 정의 파일을 미리 봅니다. 미리 보기는 선택 사항에 따라 동적으로 업데이트됩니다.

1. **프로젝트 생성**을 선택합니다.

프로젝트 워크플로는 프로젝트를 생성하는 즉시 시작됩니다. 코드 구축 및 배포를 완료하는 데 약간의 시간이 걸릴 것입니다. 그 동안 다른 사람을 프로젝트에 초대하세요.

## 2단계: 프로젝트에 초대하기
<a name="getting-started-template-project-ipa-user"></a>

이제 프로젝트를 설정했으므로 다른 사람을 초대하여 함께 작업하도록 하세요.

**프로젝트에 누군가를 초대하려면**

1. 사용자를 초대하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **프로젝트 설정**을 선택합니다.

1. **멤버** 탭에서 **초대**를 선택합니다.

1. 프로젝트의 사용자로 초대하려는 사람의 이메일 주소를 입력합니다. 여러 이메일 주소를 스페이스 또는 쉼표로 구분하여 입력할 수 있습니다. 프로젝트의 멤버가 아닌 스페이스의 멤버 중에서 선택할 수도 있습니다.

1. 사용자의 역할을 선택합니다.

   사용자 추가를 완료했으면 **초대**를 선택합니다.

## 3단계: 협업 및 작업 추적을 위한 문제 생성
<a name="getting-started-template-project-issue"></a>

CodeCatalyst는 프로젝트와 관련된 기능, 작업, 버그 및 기타 작업과 문제를 추적하는 데 도움이 됩니다. 문제를 생성하여 필요한 작업과 아이디어를 추적할 수 있습니다. 기본적으로 문제를 생성하면 백로그에 추가됩니다. 진행 중인 작업을 추적하는 보드로 문제를 이동할 수 있습니다. 특정 프로젝트 멤버에게 문제를 할당할 수도 있습니다.

**프로젝트에 대한 문제를 생성하려면**

1. 탐색 창에서 **문제**를 선택합니다.

1. **문제 생성**을 선택합니다.

1. **문제 제목**에 문제의 이름을 입력합니다. 필요에 따라 문제에 대한 설명을 제공합니다. 이 예에서는 **make a change in the `src/mysfit_data.json` file.**을 사용합니다.

1. 우선 순위, 견적, 상태 및 레이블을 선택합니다. **담당자**에서 **\$1나 추가**를 선택하여 문제를 자신에게 할당합니다.

1. **문제 생성**을 선택합니다. 이제 보드에 문제가 표시됩니다. 카드를 선택하여 문제를 **진행 중** 열로 이동합니다.

자세한 내용은 [CodeCatalyst의 문제 처리 추적 및 구성문제 작업 추적 및 구성](issues.md) 섹션을 참조하세요.

## 4단계: 소스 리포지토리 보기
<a name="getting-started-template-project-source"></a>

블루프린트는 애플리케이션 또는 서비스를 정의하고 지원하는 파일이 포함된 소스 리포지토리를 설치합니다. 소스 리포지토리의 몇 가지 주목할 만한 디렉터리와 파일은 다음과 같습니다.
+ **.cloud9** 디렉터리 - AWS Cloud9 개발 환경에 대한 지원 파일이 포함되어 있습니다.
+ **.codecatalyst** 디렉터리 - 블루프린트에 포함된 각 `YAML` 워크플로에 대한 워크플로 정의 파일을 포함합니다.
+ **.idea** 디렉터리 - JetBrains 개발 환경에 대한 지원 파일이 포함되어 있습니다.
+ **.vscode** 디렉터리 - Visual Studio Code 개발 환경에 대한 지원 파일이 포함되어 있습니다.
+ **cdkStacks** 디렉터리 -에서 인프라를 정의하는 AWS CDK 스택 파일이 들어 있습니다 AWS 클라우드.
+ **src** 디렉터리 – 애플리케이션 소스 코드를 포함합니다.
+ **tests** 디렉터리 - 애플리케이션을 빌드하고 테스트할 때 실행되는 자동 CI/CD 워크플로의 일부로 실행되는 통합 및 단위 테스트용 파일이 포함되어 있습니다.
+ **web** 디렉터리 - 프론트엔드 소스 코드를 포함합니다. 다른 파일에는 프로젝트에 대한 중요한 메타데이터가 포함된 `package.json` 파일, 웹 사이트 `index.html` 페이지, Lint 코드용 `.eslintrc.cjs` 파일, 루트 파일 및 컴파일러 옵션을 지정하기 위한 `tsconfig.json` 파일과 같은 프로젝트 파일이 포함됩니다.
+ `Dockerfile` 파일 - 애플리케이션의 컨테이너를 설명합니다.
+ `README.md` 파일 - 프로젝트 구성 정보를 포함합니다.

**프로젝트의 소스 리포지토리로 이동하려면**

1. 프로젝트로 이동하여 다음 중 하나를 수행합니다.
   + 프로젝트의 요약 페이지에서 목록에서 원하는 리포지토리를 선택한 다음 **리포지토리 보기**를 선택합니다.
   + 탐색 창에서 **코드**를 선택한 다음 **소스 리포지토리**를 선택합니다. **소스 리포지토리**의 경우 목록에서 리포지토리의 이름을 선택합니다. 필터 표시줄에 리포지토리 이름의 일부를 입력하여 리포지토리 목록을 필터링할 수 있습니다.

1. 리포지토리의 홈 페이지에서 리포지토리의 내용과 풀 요청 수 및 워크플로와 같은 관련 리소스에 대한 정보를 확인합니다. 기본적으로 기본 브랜치의 내용이 표시됩니다. 드롭다운 목록에서 다른 브랜치를 선택하여 보기를 변경할 수 있습니다.

## 5단계: 테스트 브랜치를 사용하여 개발 환경 생성 및 빠른 코드 변경
<a name="getting-started-template-project-create-devenvironment"></a>

개발 환경을 생성하여 소스 리포지토리의 코드를 빠르게 처리할 수 있습니다. 이 자습서에서는 다음을 가정합니다.
+  AWS Cloud9 개발 환경을 생성합니다.
+ 개발 환경을 생성할 때 **기본** 브랜치의 새 브랜치에서 작업할 옵션을 선택합니다.
+ 이 새 브랜치의 이름을 `test`로 합니다.

이후 단계에서는 개발 환경을 사용하여 코드를 변경하고 풀 요청을 생성합니다.

**새 브랜치로 개발 환경을 생성하려면**

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

1. 개발 환경을 생성하려는 프로젝트로 이동합니다.

1. 프로젝트의 소스 리포지토리 목록에서 리포지토리 이름을 선택합니다. 또는 탐색 창에서 **코드**를 선택하고 **소스 리포지토리**를 선택한 다음 개발 환경을 생성할 리포지토리를 선택합니다.

1. 리포지토리 홈 페이지에서 **개발 환경 생성**을 선택합니다.

1. 드롭다운 메뉴에서 지원되는 IDE를 선택합니다. 자세한 정보는 [개발 환경에 지원되는 통합 개발 환경](devenvironment-create.md#devenvironment-supported-ide)을 참조하세요.

1. 복제할 리포지토리를 선택하고, **새 브랜치에서 작업**을 선택하고, **브랜치 이름** 필드에 브랜치 이름을 입력하고, **다음에서 브랜치 생성** 드롭다운 메뉴에서 새 브랜치를 만들 브랜치를 선택합니다.

1. 원하는 경우 개발 환경의 별칭을 추가할 수 있습니다.

1. 선택적으로 **개발 환경 구성** 편집 버튼을 선택하여 개발 환경의 컴퓨팅, 스토리지 또는 제한 시간 구성을 편집합니다.

1. **생성(Create)**을 선택합니다. 개발 환경이 생성되는 동안 개발 환경 상태 열에 **시작 중**이 표시되고, 개발 환경이 생성되면 상태 열에 **실행 중**이 표시됩니다. 선택한 IDE의 개발 환경과 함께 새 탭이 열립니다. 코드를 편집하고 변경 사항을 커밋하고 푸시할 수 있습니다.

이 섹션에서는 풀 요청이 병합될 AWS 계정 때 연결된의 리소스에 자동으로 빌드되고 배포되는 풀 요청으로 코드를 변경하여 CodeCatalyst에서 생성된 샘플 애플리케이션으로 작업합니다.

**`src/mysfit_data.json` 파일을 변경하려면**

1. 프로젝트 개발 환경으로 이동합니다. 에서 측면 탐색 메뉴를 AWS Cloud9확장하여 파일을 찾습니다. `mysfits`, `src`를 확장하고 `src/mysfit_data.json`를 엽니다.

1. 파일에서 `"Age":` 필드 값을 6에서 12로 변경합니다. 라인은 다음과 같을 것입니다.

   ```
       {
           "Age": 12,
           "Description": "Twilight's personality sparkles like the night sky and is looking for a forever home with a Greek hero or God. While on the smaller side at 14 hands, he is quite adept at accepting riders and can fly to 15,000 feet. Twilight needs a large area to run around in and will need to be registered with the FAA if you plan to fly him above 500 feet. His favorite activities include playing with chimeras, going on epic adventures into battle, and playing with a large inflatable ball around the paddock. If you bring him home, he'll quickly become your favorite little Pegasus.",
           "GoodEvil": "Good",
           "LawChaos": "Lawful",
           "Name": "Twilight Glitter",
           "ProfileImageUri": "https://www.mythicalmysfits.com/images/pegasus_hover.png",
           "Species": "Pegasus",
           "ThumbImageUri": "https://www.mythicalmysfits.com/images/pegasus_thumb.png"
       },
   ```

1. 파일을 저장합니다.

1. **cd /projects/mysfits** 명령을 사용하여 mysfits 리포지토리로 변경합니다.

1. **git add**, **git commit**, **git push** 명령을 사용하여 변경 사항을 추가, 커밋 및 푸시합니다.

   ```
   git add .
   git commit -m "make an example change"
   git push
   ```

## 6단계: 최신 애플리케이션을 빌드하는 워크플로 보기
<a name="getting-started-template-project-view-workflow"></a>

최신 애플리케이션 프로젝트를 생성한 후 CodeCatalyst는 워크플로를 포함하여 사용자를 대신하여 여러 리소스를 생성합니다. *워크플로*는 코드를 빌드, 테스트 및 배포하는 방법을 설명하는 .yaml 파일에 정의된 자동화된 절차입니다.

이 자습서에서 CodeCatalyst는 워크플로를 생성하고 프로젝트를 생성할 때 자동으로 워크플로를 시작했습니다. (프로젝트를 생성한 시간에 따라 워크플로가 계속 실행 중일 수 있습니다.) 다음 절차에 따라 워크플로의 진행 상황을 확인하고, 생성된 로그 및 테스트 보고서를 검토한 다음, 마지막으로 배포된 애플리케이션의 URL로 이동합니다.

**워크플로 진행 상황을 확인하려면**

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

   워크플로 목록이 나타납니다. 다음은 프로젝트를 생성할 때 CodeCatalyst 블루프린트가 생성하고 시작한 워크플로입니다.

1. 워크플로 목록을 관찰합니다. 네 가지가 표시됩니다.
   + 상단의 두 워크플로는 [5단계: 테스트 브랜치를 사용하여 개발 환경 생성 및 빠른 코드 변경](#getting-started-template-project-create-devenvironment)에서 이전에 생성한 `test` 브랜치에 해당합니다. 이러한 워크플로는 `main` 브랜치의 워크플로를 복제합니다. **ApplicationDeploymentPipeline**은 `main` 브랜치와 함께 사용하도록 구성되어 있으므로 활성화되지 않습니다. 풀 요청이 이루어지지 않아 **OnPullRequest** 워크플로가 실행되지 않았습니다.
   + 하단의 두 워크플로는 이전에 블루프린트를 실행할 때 생성된 `main` 브랜치에 해당합니다. **ApplicationDeploymentPipeline** 워크플로가 활성 상태이며 진행 중(또는 완료됨)으로 실행됩니다.
**참고**  
**Build@cdk\$1bootstrap** 또는 **DeployBackend** 오류로 인해 **ApplicationDeploymentPipeline** 실행이 실패하는 경우, 이전에 최신 3계층 웹 애플리케이션을 실행했고 기존 리소스가 현재 블루프린트과 충돌하지 않기 때문일 수 있습니다. 이러한 이전 리소스를 삭제한 다음 워크플로를 다시 실행해야 합니다. 자세한 내용은 [리소스 정리](#getting-started-template-project-clean-up) 섹션을 참조하세요.

1. 하단에서 `main` 브랜치와 연결된 **ApplicationDeploymentPipeline** 워크플로를 선택합니다. 이 워크플로는 `main` 브랜치의 소스 코드를 사용하여 실행되었습니다.

   워크플로 다이어그램이 나타납니다. 다이어그램에는 태스크 또는 *작업*을 각각 나타내는 여러 블록이 나와 있습니다. 대부분의 작업은 세로로 정렬되며 맨 위의 작업은 아래 작업보다 먼저 실행됩니다. 나란히 배열된 작업은 병렬로 실행됩니다. 함께 그룹화된 작업은 모두 성공적으로 실행되어야 아래의 작업을 시작할 수 있습니다.

   기본 블록은 다음과 같습니다.
   + **WorkflowSource** – 이 블록은 소스 리포지토리를 나타냅니다. 여기에는 무엇보다도 소스 리포지토리 이름(**mysfits**)과 워크플로 실행을 자동으로 시작한 커밋이 표시됩니다. CodeCatalyst는 프로젝트를 생성할 때 이 커밋을 생성했습니다.
   + **빌드** - 이 블록은 다음 작업을 시작하려면 두 작업을 모두 성공적으로 완료해야 하는 두 작업의 그룹화를 나타냅니다.
   + **DeployBackend** -이 블록은 애플리케이션의 백엔드 구성 요소를 AWS 클라우드에 배포하는 작업을 나타냅니다.
   + **테스트** - 이 블록은 다음 작업을 시작하기 위해 모두 성공적으로 완료해야 하는 두 가지 테스트 작업의 그룹화를 나타냅니다.
   + **DeployFrontend** -이 블록은 애플리케이션의 프런트엔드 구성 요소를 AWS 클라우드에 배포하는 작업을 나타냅니다.

1. **정의** 탭(상단 근처)을 선택합니다. [워크플로 정의 파일](workflow-reference.md)이 오른쪽에 나타납니다. 파일에는 다음과 같은 주목할 만한 섹션이 있습니다.
   + 상단의 `Triggers` 섹션. 이 섹션에서는 코드를 소스 리포지토리의 `main` 브랜치로 푸시할 때마다 워크플로를 시작해야 함을 나타냅니다. 다른 브랜치(예: `test`)로 푸시해도 이 워크플로가 시작되지 않습니다. 워크플로는 `main` 브랜치의 파일을 사용하여 실행됩니다.
   + `Actions` 섹션, `Triggers` 아래. 이 섹션에서는 워크플로 다이어그램에 표시되는 작업을 정의합니다.

1. **최신 상태** 탭(상단 근처)을 선택하고 워크플로 다이어그램에서 작업을 선택합니다.

1. 오른쪽에서 **구성** 탭을 선택하여 최근 실행 중에 작업에 사용되는 구성 설정을 확인합니다. 각 구성 설정에는 워크플로 정의 파일에 일치하는 속성이 있습니다.

1. 콘솔을 열어 두고 다음 절차로 이동합니다.

**빌드 로그 및 테스트 보고서를 검토하려면**

1. **최신 상태** 탭을 선택합니다.

1. 워크플로 다이어그램에서 **DeployFrontend** 작업을 선택합니다.

1. 작업을 마칠 때까지 기다리세요. '진행 중' 아이콘(![\[Workflow in progress.\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/run-in-progress.png))이 '성공' 아이콘(![\[Workflow success.\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/flows/run-success.png))으로 변경될 때까지 기다립니다.

1. **build\$1backend** 작업을 선택합니다.

1. **로그** 탭을 선택하고 몇 개의 섹션을 확장하여 이러한 단계에 대한 로그 메시지를 확인합니다. 백엔드 설정과 관련된 메시지를 볼 수 있습니다.

1. **보고서** 탭을 선택한 다음 `backend-coverage.xml` 보고서를 선택합니다. CodeCatalyst는 연결된 보고서를 표시합니다. 이 보고서는 실행된 코드 적용 범위 테스트를 보여주며, 80%와 같이 테스트에서 성공적으로 검증한 코드 줄의 비율을 나타냅니다.

   테스트 보고서에 대한 자세한 내용은 [워크플로를 사용한 테스트워크플로를 사용한 테스트](test-workflow-actions.md)의 내용을 참조하세요.
**작은 정보**  
탐색 창에서 보고서를 선택하여 테스트 **보고서**를 볼 수도 있습니다.

1. CodeCatalyst 콘솔을 열어 두고 다음 절차로 이동합니다.

**최신 애플리케이션이 성공적으로 배포되었는지 확인하려면**

1. **ApplicationDeploymentPipeline** 워크플로로 돌아가서 최신 실행의 **Run-*string*** 연결을 선택합니다.

1. 워크플로 다이어그램에서 **DeployFrontend** 작업을 찾아 **앱 보기** 연결을 선택합니다. Mysfit 웹 사이트가 나타납니다.
**참고**  
**DeployFrontend** 작업 내에 **앱 보기** 연결이 보이지 않는 경우 실행 ID 연결을 선택했는지 확인하세요.

1. **Twilight Glitter**라는 pegasus Mysfit을 검색합니다. 연령 값을 기록해 둡니다. `6`입니다. 코드를 변경하여 기간을 업데이트합니다.

## 7단계: 다른 사람에게 변경 사항을 검토하도록 요청
<a name="getting-started-template-project-pull-request"></a>

이제 `test` 브랜치에 변경 사항이 있으므로 풀 요청을 생성하여 다른 사람에게 검토하도록 요청할 수 있습니다. 다음 단계를 수행하여 `test` 브랜치의 변경 사항을 `main` 브랜치로 병합하기 위한 풀 요청을 생성합니다.

**풀 요청을 생성하려면**

1. 프로젝트로 이동합니다.

1. 다음 중 하나를 수행하세요.
   + 탐색 창에서 **코드**를 선택하고 **풀 요청**을 선택한 다음 **풀 요청 생성**을 선택합니다.
   + 리포지토리 홈 페이지에서 **추가**를 선택한 다음 **풀 요청 생성**을 선택합니다.
   + 프로젝트 페이지에서 **풀 요청 생성**을 선택합니다.

1. **소스 리포지토리**에서 지정된 소스 리포지토리가 커밋된 코드가 포함된 리포지토리인지 확인합니다. 이 옵션은 리포지토리의 메인 페이지에서 풀 요청을 생성하지 않은 경우에만 나타납니다.

1. **대상 브랜치**에서 코드를 검토한 후 병합할 브랜치를 선택합니다.

1. **소스 브랜치**에서 커밋된 코드가 포함된 브랜치를 선택합니다.

1. **풀 요청 제목**에 다른 사용자가 검토해야 할 사항과 이유를 이해하는 데 도움이 되는 제목을 입력합니다.

1. (선택 사항) **풀 요청 설명**에서 문제에 대한 연결 또는 변경 사항에 대한 설명과 같은 정보를 제공합니다.
**작은 정보**  
CodeCatalyst가 풀 요청에 포함된 변경 사항에 대한 설명을 자동으로 생성하도록 **설명 쓰기**를 선택할 수 있습니다. 자동으로 생성된 설명은 풀 요청에 추가한 후에 변경할 수 있습니다.  
이 기능을 사용하려면 스페이스에 생성형 AI 기능을 활성화해야 하며 연결된 리포지토리의 풀 요청에 사용할 수 없습니다. 자세한 내용은 [생성형 AI 기능 관리](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)를 참조하세요.

1. (선택 사항) **문제**에서 **문제 연결**을 선택한 다음 목록에서 문제를 선택하거나 해당 ID를 입력합니다. 문제를 연결 해제하려면 연결 해제 아이콘을 선택합니다.

1. (선택 사항) **필수 검토자**에서 **필수 검토자 추가**를 선택합니다. 프로젝트 멤버 목록에서 추가할 멤버를 선택합니다. 필수 검토자는 풀 요청을 대상 브랜치에 병합하기 전에 변경 사항을 승인해야 합니다.
**참고**  
검토자를 추가할 때 필수 검토자이면서 동시에 선택적 검토자로 추가할 수 없습니다. 자신을 검토자로 추가할 수 없습니다.

1. (선택 사항) **선택적 검토자**에서 **선택적 검토자 추가**를 선택합니다. 프로젝트 멤버 목록에서 추가할 멤버를 선택합니다. 선택적 검토자는 풀 요청을 대상 브랜치에 병합하기 전에 변경 사항을 요구 사항으로 승인할 필요가 없습니다.

1. 브랜치 간의 차이점을 검토합니다. 풀 요청에 표시되는 차이점은 소스 브랜치의 수정본과 풀 요청이 생성된 시점의 대상 브랜치의 헤드 커밋인 병합 기반 간의 변경 사항입니다. 변경 사항이 표시되지 않으면 브랜치가 동일하거나 소스와 대상 모두에 대해 동일한 브랜치를 선택했을 수 있습니다.

1. 풀 요청에 검토하려는 코드와 변경 사항이 포함되어 있다고 판단되면 **생성**을 선택합니다.
**참고**  
풀 요청을 생성한 후 설명을 추가할 수 있습니다. 풀 요청 또는 파일의 개별 줄 및 풀 요청 전반에 설명을 추가할 수 있습니다. @ 기호와 파일 이름을 사용하여 파일과 같은 리소스에 대한 연결을 추가할 수 있습니다.

풀 요청을 생성하면 **OnPullRequest** 워크플로가 `test` 브랜치의 소스 파일을 사용하기 시작합니다. 검토자가 코드 변경을 승인하는 동안 워크플로를 선택하고 테스트 출력을 확인하여 결과를 관찰할 수 있습니다.

변경 사항을 검토한 후 코드를 병합할 수 있습니다. 코드를 기본 브랜치에 병합하면 변경 사항을 빌드하고 배포하는 워크플로가 자동으로 시작됩니다.<a name="getting-started-template-project-pull-requests-merge-console"></a>

**CodeCatalyst 콘솔에서 풀 요청을 병합하려면**

1. 최신 애플리케이션 프로젝트로 이동합니다.

1. 프로젝트 페이지의 **풀 요청 열기**에서 병합할 풀 요청을 선택합니다. 풀 요청이 표시되지 않으면 **모두 보기**를 선택한 다음 목록에서 선택합니다. **병합**을 선택합니다.

1. 풀 요청에서 사용 가능한 병합 전략 중에서 선택합니다. 선택적으로 풀 요청을 병합한 후 소스 브랜치를 삭제하는 옵션을 선택하거나 선택 취소한 다음 **병합**을 선택합니다.
**참고**  
**병합** 버튼이 활성 상태가 아니거나 **병합할 수 없음** 레이블이 표시되면 하나 이상의 필수 검토자가 아직 풀 요청을 승인하지 않았거나 CodeCatalyst 콘솔에서 풀 요청을 병합할 수 없는 것입니다. 풀 요청을 승인하지 않은 검토자는 **풀 요청 세부 정보** 영역의 **개요**에 시계 아이콘으로 표시됩니다. 필요한 모든 검토자가 풀 요청을 승인했지만 **병합** 버튼이 여전히 활성화되어 있지 않은 경우 병합 충돌이 발생할 수 있습니다. CodeCatalyst 콘솔에서 대상 브랜치의 병합 충돌을 해결한 다음 풀 요청을 병합하거나 충돌을 해결하고 로컬에서 병합한 다음 병합이 포함된 커밋을 CodeCatalyst에 푸시할 수 있습니다. 자세한 내용은 [풀 요청 병합(Git)](pull-requests-merge.md#pull-requests-merge-git) 섹션 및 Git 설명서를 참조하세요.

`test` 브랜치의 변경 사항을 브랜치로 병합하면 **main** 변경 사항이 변경 사항을 빌드하고 배포하는 **ApplicationDeploymentPipeline** 워크플로를 자동으로 시작합니다.<a name="getting-started-template-project-pull-requests-merge-view-success"></a>

**ApplicationDeploymentPipeline 워크플로를 통해 병합된 커밋 실행을 보려면**

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

1. **워크플로**의 **ApplicationDeploymentPipeline**에서 **최근 실행**을 확장합니다. 병합 커밋으로 시작된 워크플로 실행을 볼 수 있습니다. 선택적으로 실행 진행 상황을 보려면 선택합니다.

1. 실행이 완료되면 이전에 방문한 URL을 다시 로드합니다. 페가수스를 보고 연령이 변경되었는지 확인합니다.  
![\[코드 변경이 병합, 구축 및 배포되어 애플리케이션에 표시됨\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/images/modified-mysfits.png)

## 8단계: 문제 종료
<a name="getting-started-template-project-close-issue"></a>

문제가 해결되면 CodeCatalyst 콘솔에서 종료할 수 있습니다.

**프로젝트의 문제를 종료하려면**

1. 프로젝트로 이동합니다.

1. 탐색 창에서 **문제**를 선택합니다.

1. 문제를 **완료** 열로 끌어다 놓습니다.

자세한 내용은 [CodeCatalyst의 문제 처리 추적 및 구성문제 작업 추적 및 구성](issues.md) 섹션을 참조하세요.

## 리소스 정리
<a name="getting-started-template-project-clean-up"></a>

CodeCatalyst 및에서 정리 AWS 하여 환경에서이 자습서의 트레이스를 제거합니다.

이 자습서에 사용한 프로젝트를 계속 사용하도록 선택하거나 프로젝트 및 관련 리소스를 삭제할 수 있습니다.

**참고**  
이 프로젝트를 삭제하면 모든 멤버에 대한 프로젝트의 모든 리포지토리, 문제 및 아티팩트가 삭제됩니다.

**프로젝트 삭제**

1. 프로젝트로 이동한 다음 **프로젝트 설정**을 선택합니다.

1. **일반** 탭을 선택합니다.

1. 프로젝트 이름에서 **프로젝트 삭제**를 선택합니다.

**CloudFormation 및 Amazon S3에서 리소스를 삭제하려면**

1. CodeCatalyst AWS Management Console 스페이스에 추가한 것과 동일한 계정으로에 로그인합니다.

1. **CloudFormation** 서비스로 이동합니다.

1. **mysfits*string*** 스택을 삭제합니다.

1. **development-mysfits*string*** 스택을 삭제합니다.

1. **CDKToolkit** 스택을 선택합니다(삭제하지 않음). **리소스** 탭을 선택합니다. **StagingBucket** 연결을 선택하고 Amazon S3에서 버킷 및 버킷 콘텐츠를 삭제합니다.
**참고**  
이 버킷을 수동으로 삭제하지 않으면 최신 3계층 웹 애플리케이션 블루프린트를 다시 실행할 때 오류가 발생할 수 있습니다.

1. (선택 사항) **CDKToolkit** 스택을 삭제합니다.

## 레퍼런스
<a name="getting-started-template-project-reference"></a>

최신 3티어 웹 애플리케이션 블루프린트는 리소스를 CodeCatalyst 스페이스와 AWS AWS 클라우드의 계정에 배포합니다. 이러한 리소스는 다음과 같습니다.
+ **CodeCatalyst 스페이스에서**:
  + 다음 리소스를 포함하는 CodeCatalyst 프로젝트:
    + [소스 리포지토리](source.md) - 이 리포지토리에는 'Mysfits' 웹 애플리케이션의 샘플 코드가 포함되어 있습니다.
    + [워크플로](workflow.md) - 이 워크플로는 기본 브랜치를 변경할 때마다 Mysfits 애플리케이션 코드를 빌드하고 배포합니다.
    + [문제 보드](issues.md) 및 백로그 - 이 보드 및 백로그를 사용하여 작업을 계획하고 추적할 수 있습니다.
    + [테스트 보고서 제품군](test-workflow-actions.md) - 이 제품군에는 샘플 코드에 포함된 자동 보고서가 포함됩니다.
+ **연결된에서 AWS 계정**:
  + **CDKToolkit** 스택 - 이 스택은 다음 리소스를 배포합니다.
    + Amazon S3 스테이징 버킷, 버킷 정책 및 버킷을 암호화하는 데 사용되는 AWS KMS 키입니다.
    + 배포 작업에 대한 IAM 배포 역할입니다.
    + AWS 스택의 리소스를 지원하는 IAM 역할 및 정책입니다.
**참고**  
**CDKToolkit**는 각 배포에 대해 분해되거나 다시 생성되지 않습니다. AWS CDK지원을 위해 각 계정에서 시작되는 스택입니다.
  + **development-mysfits*string* BackEnd** 스택 - 이 스택은 다음과 같은 백엔드 리소스를 배포합니다.
    + Amazon API Gateway 엔드포인트입니다.
    + AWS 스택의 리소스를 지원하는 IAM 역할 및 정책입니다.
    +  AWS Lambda 함수와 계층은 최신 애플리케이션을 위한 서버리스 컴퓨팅 플랫폼을 제공합니다.
    + 버킷 배포 및 Lambda 함수에 대한 IAM 정책 및 역할입니다.
  + **mysfits*string*** 스택 -이 스택은 AWS Amplify 프런트엔드 애플리케이션을 배포합니다.

### 다음 사항도 참조하세요.
<a name="getting-started-template-project-reference-links"></a>

이 자습서의 일부로 리소스가 생성되는 AWS 서비스에 대한 자세한 내용은 다음을 참조하세요.
+ **Amazon S3** - 업계 최고의 확장성, 데이터 고가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스에 프론트엔드 자산을 저장하는 서비스입니다. 자세한 내용은 [Amazon S3 사용 설명서](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)를 참조하세요.
+ **Amazon API Gateway** - 규모에 관계없이 REST, HTTP 및 WebSocket API를 생성, 게시, 유지 관리, 모니터링 및 보호하기 위한 서비스입니다. 자세한 내용은 [API Gateway 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/)를 참조하세요.
+ **Amplify** - 프론트엔드 애플리케이션을 호스팅하기 위한 서비스입니다. 자세한 내용은 [AWS Amplify 호스팅 사용 설명서](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html)를 참조하세요.
+ **AWS Cloud Development Kit (AWS CDK)** - 코드에서 클라우드 인프라를 정의하고 이를 프로비저닝하기 위한 프레임워크입니다 AWS CloudFormation. 에는 AWS CDK 앱 및 스택과 상호 작용하기 위한 명령줄 도구인 AWS CDK 도구 키트가 AWS CDK 포함되어 있습니다. 자세한 정보는 [AWS Cloud Development Kit (AWS CDK) 개발자 안내서](https://docs.aws.amazon.com/cdk/latest/guide/)를 참조하세요.
+ **Amazon DynamoDB** - 데이터 저장을 위한 완전 관리형 NoSQL 데이터베이스 서비스입니다. 자세한 내용은 [Amazon DynamoDB 개발자 안내서](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html)를 참조하세요.
+ **AWS Lambda** - 서버를 프로비저닝하거나 관리하지 않고 고가용성 컴퓨팅 인프라에서 코드를 간접 호출하는 서비스입니다. 자세한 정보는 [AWS Lambda 개발자 안내서](https://docs.aws.amazon.com/lambda/latest/dg/)를 참조하세요.
+ **AWS IAM** - AWS 및 리소스에 대한 액세스를 안전하게 제어하는 서비스입니다. 자세한 내용은 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/)를 참조하세요.

# 자습서: 빈 프로젝트로 시작하고 수동으로 리소스 추가
<a name="getting-started-blank-template"></a>

프로젝트를 생성할 때 **빈 프로젝트** 블루프린트를 선택하여 사전 정의된 리소스 없이 빈 프로젝트를 생성할 수 있습니다. 빈 프로젝트를 생성한 후 프로젝트 요구 사항에 따라 리소스를 생성하고 추가할 수 있습니다. 블루프린트 없이 생성된 프로젝트는 생성 시 비어 있으므로 이 옵션을 시작하려면 CodeCatalyst 리소스를 생성하고 구성하는 방법에 대한 더 많은 지식이 필요합니다.

**Topics**
+ [사전 조건](#getting-started-bt-prerequisites)
+ [빈 프로젝트 생성](#getting-started-bt-proj-create)
+ [소스 리포지토리 생성](#getting-started-bt-source-create)
+ [코드 변경을 빌드, 테스트 및 배포하기 위한 워크플로 생성](#getting-started-bt-workflow-create)
+ [프로젝트에 초대하기](#getting-started-bt-ipa-user)
+ [작업을 공동 작업하고 추적하기 위한 문제 생성](#getting-started-bt-issue)

## 사전 조건
<a name="getting-started-bt-prerequisites"></a>

빈 프로젝트를 생성하려면 **스페이스 관리자** 또는 **파워 유저** 역할이 할당되어 있어야 합니다. CodeCatalyst 처음 로그인하는 경우 [CodeCatalyst 설정 및 로그인CodeCatalyst 설정 및 로그인](setting-up-topnode.md) 섹션을 참조하세요.

## 빈 프로젝트 생성
<a name="getting-started-bt-proj-create"></a>

프로젝트 생성은 함께 작업할 수 있는 첫 번째 단계입니다. 소스 리포지토리 및 워크플로와 같은 자체 리소스를 생성하려면 빈 프로젝트로 시작할 수 있습니다.

**빈 프로젝트를 만들려면**

1. 프로젝트를 생성하려는 스페이스로 이동합니다.

1. 스페이스 대시보드에서 **프로젝트 생성**을 선택합니다.

1. **처음부터 시작**을 선택합니다.

1. **프로젝트에 이름 부여**에서 프로젝트에 할당할 이름을 입력합니다. 이름은 스페이스 내에서 고유해야 합니다.

1. **프로젝트 생성**을 선택합니다.

이제 프로젝트가 비어 있으므로 다음 단계는 소스 리포지토리를 생성하는 것입니다.

## 소스 리포지토리 생성
<a name="getting-started-bt-source-create"></a>

프로젝트 코드를 저장하고 공동 작업할 소스 리포지토리를 생성합니다. 프로젝트 멤버는 이 리포지토리를 로컬 컴퓨터에 복제하여 코드 작업을 수행할 수 있습니다. 또는 지원되는 서비스에서 호스팅되는 리포지토리를 연결하도록 선택할 수 있지만 이 자습서에서는 다루지 않습니다. 자세한 내용은 [소스 리포지토리 연결](source-repositories-link.md) 섹션을 참조하세요.

**소스 리포지토리를 생성하려면**

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

1. 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택한 다음 **소스 리포지토리**를 선택합니다.

1. **리포지토리 추가**를 선택하고 **리포지토리 생성**을 선택합니다.

1. **리포지토리 이름**에 리포지토리 이름을 제공합니다. 이 안내서에서는 *codecatalyst-source-repository*를 사용하지만 다른 이름을 선택할 수 있습니다. 리포지토리 이름은 프로젝트에서 고유해야 합니다. 리포지토리 이름 요구 사항에 대한 자세한 내용은 [CodeCatalyst의 소스 리포지토리 할당량](source-quotas.md) 섹션을 참조하세요.

1. (선택 사항) **설명**에 리포지토리에 대한 설명을 추가하여 프로젝트의 다른 사용자가 리포지토리의 용도를 이해하는 데 도움이 되도록 합니다.

1. **리포지토리 생성(기본)**을 선택합니다. 이 옵션은 기본 브랜치와 README.md 파일을 포함하는 리포지토리를 생성합니다. 빈 리포지토리와 달리 이 리포지토리가 생성되는 즉시 사용할 수 있습니다.

1. **기본 브랜치**에서 다른 이름을 선택할 이유가 없는 한 이름을 *main*으로 둡니다. 이 가이드의 예시는 모두 기본 브랜치의 이름으로 *main*을 사용합니다.

1. (선택 사항) 푸시하려는 코드 유형에 맞는 `.gitignore` 파일을 추가합니다.

1. **생성(Create)**을 선택합니다.
**참고**  
CodeCatalyst는 `README.md` 파일을 만들 때 리포지토리에 파일을 추가합니다. 또한 CodeCatalyst는 **main**이라는 기본 브랜치에 리포지토리에 대한 초기 커밋을 생성합니다. README.md 파일을 편집하거나 삭제할 수 있지만 기본 브랜치를 삭제할 수는 없습니다.

개발 환경을 생성하여 리포지토리에 코드를 빠르게 추가할 수 있습니다. 이 자습서에서는를 사용하여 개발 환경을 생성하고 개발 환경을 생성할 때 **기본** 브랜치에서 브랜치를 생성하는 옵션을 AWS Cloud9선택하는 것이 좋습니다. 이 브랜치에 **test** 이름을 사용하지만 원하는 경우 다른 브랜치 이름을 입력할 수 있습니다.

**새 브랜치로 개발 환경을 생성하려면**

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

1. 개발 환경을 생성하려는 프로젝트로 이동합니다.

1. 프로젝트의 소스 리포지토리 목록에서 리포지토리 이름을 선택합니다. 또는 탐색 창에서 **코드**를 선택하고 **소스 리포지토리**를 선택한 다음 개발 환경을 생성할 리포지토리를 선택합니다.

1. 리포지토리 홈 페이지에서 **개발 환경 생성**을 선택합니다.

1. 드롭다운 메뉴에서 지원되는 IDE를 선택합니다. 자세한 정보는 [개발 환경에 지원되는 통합 개발 환경](devenvironment-create.md#devenvironment-supported-ide)을 참조하세요.

1. 복제할 리포지토리를 선택하고, **새 브랜치에서 작업**을 선택하고, **브랜치 이름** 필드에 브랜치 이름을 입력하고, **다음에서 브랜치 생성** 드롭다운 메뉴에서 새 브랜치를 만들 브랜치를 선택합니다.

1. 원하는 경우 개발 환경의 별칭을 추가할 수 있습니다.

1. 선택적으로 **개발 환경 구성** 편집 버튼을 선택하여 개발 환경의 컴퓨팅, 스토리지 또는 제한 시간 구성을 편집합니다.

1. **생성(Create)**을 선택합니다. 개발 환경이 생성되는 동안 개발 환경 상태 열에 **시작 중**이 표시되고, 개발 환경이 생성되면 상태 열에 **실행 중**이 표시됩니다. 선택한 IDE의 개발 환경과 함께 새 탭이 열립니다. 코드를 편집하고 변경 사항을 커밋하고 푸시할 수 있습니다.

## 코드 변경을 빌드, 테스트 및 배포하기 위한 워크플로 생성
<a name="getting-started-bt-workflow-create"></a>

CodeCatalyst에서는 워크플로에서 애플리케이션 또는 서비스의 구축, 테스트 및 배포를 구성합니다. 워크플로는 작업으로 구성되며 코드 푸시 또는 풀 요청 열기 또는 업데이트와 같이 지정된 소스 리포지토리 이벤트가 발생한 후 자동으로 실행되도록 구성할 수 있습니다. 워크플로에 대한 자세한 내용은 [워크플로를 사용하여 빌드, 테스트 및 배포워크플로를 사용하여 빌드, 테스트 및 배포](workflow.md) 섹션을 참조하세요.

[워크플로 시작하기](workflows-getting-started.md)의 지침에 따라 첫 번째 워크플로를 생성합니다.

## 프로젝트에 초대하기
<a name="getting-started-bt-ipa-user"></a>

이제 사용자 지정 프로젝트를 설정했으므로 다른 사용자가 함께 작업하도록 초대합니다.

**프로젝트에 누군가를 초대하려면**

1. 사용자를 초대하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **프로젝트 설정**을 선택합니다.

1. **멤버** 탭에서 **초대**를 선택합니다.

1. 프로젝트의 사용자로 초대하려는 사람의 이메일 주소를 입력합니다. 여러 이메일 주소를 스페이스 또는 쉼표로 구분하여 입력할 수 있습니다. 프로젝트의 멤버가 아닌 스페이스의 멤버 중에서 선택할 수도 있습니다.

1. 사용자의 역할을 선택합니다.

   사용자 추가를 완료했으면 **초대**를 선택합니다.

## 작업을 공동 작업하고 추적하기 위한 문제 생성
<a name="getting-started-bt-issue"></a>

CodeCatalyst는 프로젝트와 관련된 기능, 작업, 버그 및 기타 작업과 문제를 추적하는 데 도움이 됩니다. 문제를 생성하여 필요한 작업과 아이디어를 추적할 수 있습니다. 기본적으로 문제를 생성하면 백로그에 추가됩니다. 진행 중인 작업을 추적하는 보드로 문제를 이동할 수 있습니다. 특정 프로젝트 멤버에게 문제를 할당할 수도 있습니다.

**프로젝트에 대한 문제를 생성하려면**

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

   문제를 생성하려는 프로젝트를 탐색하고 있는지 확인합니다. 모든 프로젝트를 보려면 탐색 창에서 **Amazon CodeCatalyst**를 선택하고 필요한 경우 **모든 프로젝트 보기**를 선택합니다. 문제를 생성하거나 처리할 프로젝트를 선택합니다.

1. 탐색 창에서 **트랙**를 선택한 후, **백로그**를 선택합니다.

1. **문제 생성**을 선택합니다.

1. **문제 제목**에 문제의 이름을 입력합니다. 필요에 따라 문제에 대한 설명을 제공합니다. 원하는 경우 문제의 상태, 우선 순위 및 추정치를 선택합니다. 프로젝트 멤버 목록에서 프로젝트 멤버에게 문제를 할당할 수도 있습니다.
**작은 정보**  
**Amazon Q**가 문제를 해결하도록 Amazon Q에 문제를 할당할 수 있습니다. 시도가 성공하면 풀 요청이 생성되고 코드를 검토하고 테스트할 수 있도록 문제의 상태가 **검토 중**으로 변경됩니다. 자세한 내용은 [자습서: CodeCatalyst 생성형 AI 기능을 사용하여 개발 작업 속도 향상](getting-started-project-assistance.md) 섹션을 참조하세요.  
이 기능을 사용하려면 스페이스에 생성형 AI 기능을 활성화해야 합니다. 자세한 내용은 [생성형 AI 기능 관리](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)를 참조하세요.

1. **저장**을 선택합니다.

문제를 생성한 후 프로젝트 멤버에게 할당하고, 예측하고, Kanban 보드에서 추적할 수 있습니다. 자세한 내용은 [CodeCatalyst의 문제 처리 추적 및 구성문제 작업 추적 및 구성](issues.md) 섹션을 참조하세요.

# 자습서: CodeCatalyst 생성형 AI 기능을 사용하여 개발 작업 속도 향상
<a name="getting-started-project-assistance"></a>

생성형 AI 기능이 활성화된 스페이스에 Amazon CodeCatalyst에 프로젝트와 소스 리포지토리가 있는 경우 이러한 기능을 사용하여 소프트웨어 개발 속도를 높일 수 있습니다. 개발자는 이를 달성하기 위해 시간보다 더 많은 작업을 수행해야 하는 경우가 많습니다. 그들은 종종 이러한 변경 사항에 대한 검토를 위한 풀 요청을 생성할 때 팀 동료에게 코드 변경 사항을 설명하는 데 시간을 할애하지 않으며, 다른 사용자가 자체 설명으로 변경 사항을 찾을 것으로 기대합니다. 풀 요청 생성자 및 검토자도 풀 요청에 대한 모든 설명을 찾고 읽을 시간이 없습니다. 특히 풀 요청에 여러 개정이 있는 경우 더욱 그렇습니다. CodeCatalyst는 소프트웨어 개발용 Amazon Q Developer Agent와 통합되어 팀원이 작업을 더 빠르게 수행하고 작업의 가장 중요한 부분에 집중해야 하는 시간을 늘릴 수 있는 생성형 AI 기능을 제공합니다.

Amazon Q Developer는 AWS 애플리케이션을 이해, 구축, 확장 및 운영하는 데 도움이 되는 생성형 AI 기반 대화형 어시스턴트입니다. 빌드 속도를 높이기 위해 Amazon Q AWS를 지원하는 모델을 고품질 AWS 콘텐츠로 보강하여 더 완전하고 실행 가능하며 참조된 답변을 생성합니다. 자세한 내용은 **Amazon Q Developer 사용 설명서의 [ Amazon Q Developer란 무엇인가요?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html)를 참조하세요.

**참고**  
**Amazon Bedrock:implements 자동 침해 탐지로 구동**됩니다. AWS [https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html) 소프트웨어 개발용 Amazon Q Developer Agent의 **설명 쓰기**, **콘텐츠 요약 생성**, **권장 작업**, **Amazon Q를 사용하여 프로젝트에 기능을 생성하거나 추가**, **Amazon Q에 문제 할당** 기능은 Amazon Bedrock에 구축되므로, 사용자는 Amazon Bedrock에서 구현된 제어 기능을 최대한 활용하여 안전, 보안 및 인공 지능(AI)을 책임 있게 사용할 수 있습니다.

이 자습서에서는 CodeCatalyst의 생성형 AI 기능을 사용하여 블루프린트가 있는 프로젝트를 생성하고 기존 프로젝트에 블루프린트를 추가하는 방법을 알아봅니다. 또한 풀 요청을 생성할 때 브랜치 간의 변경 사항을 요약하고 풀 요청에 남아 있는 설명을 요약하는 방법을 알아봅니다. 또한 코드 변경 또는 개선에 대한 아이디어와 관련된 문제를 생성하고 Amazon Q에 할당하는 방법도 알아봅니다. Amazon Q에 할당된 문제 작업의 일환으로 Amazon Q가 작업을 제안하도록 허용하는 방법과 문제 작업의 일부로 생성된 모든 작업을 할당하고 작업하는 방법을 알아봅니다.

**Topics**
+ [사전 조건](#getting-started-project-assistance-prerequisites)
+ [Amazon Q를 사용하여 프로젝트를 생성하거나 기능을 추가할 때 블루프린트 선택](#getting-started-project-assistance-create-apply-bp)
+ [풀 요청을 생성할 때 브랜치 간의 코드 변경 사항 요약 생성](#getting-started-project-assistance-pull-request-summary)
+ [풀 요청의 코드 변경에 대해 남긴 주석 요약 생성](#getting-started-project-assistance-comment-summary)
+ [문제를 생성하고 Amazon Q에 할당](#getting-started-project-assistance-issue-to-code)
+ [문제를 생성하고 Amazon Q에서 해당 이슈에 대한 작업 추천받기](#getting-started-project-assistance-issue-to-tasks)
+ [리소스 정리](#getting-started-project-assistance-clean-up)

## 사전 조건
<a name="getting-started-project-assistance-prerequisites"></a>

이 자습서에서 CodeCatalyst 기능을 사용하려면 먼저 다음 리소스를 완료하고 액세스할 수 있어야 합니다.
+ CodeCatalyst에 로그인하기 위한 AWS Builder ID 또는 Single Sign-On(SSO) 자격 증명이 있습니다.
+ 생성형 AI 기능이 활성화된 스페이스에 있습니다. 자세한 내용은 [생성형 AI 기능 관리](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)를 참조하세요.
+ 해당 스페이스의 프로젝트에서 기고자 또는 프로젝트 관리자 역할이 있습니다.
+ 생성형 AI로 프로젝트를 생성하지 않는 한 기존 프로젝트에는 해당 프로젝트에 대해 구성된 소스 리포지토리가 하나 이상 있습니다. 연결된 리포지토리는 지원되지 않습니다.
+ 생성형 AI에서 생성된 초기 솔루션을 갖도록 문제를 할당할 때는 **Jira 소프트웨어** 확장 프로그램을 사용하여 프로젝트를 구성할 수 없습니다. 이 기능에는 확장 프로그램이 지원되지 않습니다.

자세한 내용은 [스페이스 생성](spaces-create.md), [CodeCatalyst의 문제 처리 추적 및 구성문제 작업 추적 및 구성](issues.md), [CodeCatalyst에서 확장 프로그램이 있는 프로젝트에 기능 추가확장 프로그램이 있는 프로젝트에 기능 추가](extensions.md) 및 [사용자 역할로 액세스 권한 부여](ipa-roles.md) 부분을 참조하세요.

이 자습서는 Python을 사용한 **최신 3계층 웹 애플리케이션** 블루프린트를 사용하여 생성된 프로젝트를 기반으로 합니다. 다른 블루프린트로 생성된 프로젝트를 사용하는 경우에도 단계를 따를 수 있지만 샘플 코드 및 언어와 같은 일부 세부 사항은 달라집니다.

## Amazon Q를 사용하여 프로젝트를 생성하거나 기능을 추가할 때 블루프린트 선택
<a name="getting-started-project-assistance-create-apply-bp"></a>

프로젝트 개발자는 새 프로젝트를 생성하거나 기존 프로젝트에 구성 요소를 추가할 때 생성형 AI 어시스턴트인 Amazon Q와 협업할 수 있습니다. 채팅과 유사한 인터페이스에서 Amazon Q와 상호 작용하여 프로젝트의 요구 사항을 Amazon Q에 제공할 수 있습니다. 요구 사항에 따라 Amazon Q는 블루프린트를 제안하고 충족할 수 없는 요구 사항을 간략하게 설명합니다. 스페이스에 사용자 지정 블루프린트가 있는 경우 Amazon Q는 이러한 블루프린트를 학습하고 권장 사항에도 포함합니다. 그런 다음 만족하면 Amazon Q의 제안을 진행할 수 있으며, 요구 사항에 맞는 코드가 포함된 소스 리포지토리와 같은 필요한 리소스를 생성합니다. 또한 Amazon Q는 블루프린트로 만족할 수 없는 요구 사항에 대한 문제를 생성합니다. 사용 가능한 CodeCatalyst 블루프린트에 대한 자세한 내용은 [CodeCatalyst 블루프린트를 사용하여 포괄적인 프로젝트 생성블루프린트를 사용하여 포괄적인 프로젝트 생성](project-blueprints.md) 섹션을 참조하세요. Amazon Q를 블루프린트와 함께 사용하는 방법에 대한 자세한 내용은 [Amazon Q를 사용하여 프로젝트를 생성하거나 블루프린트를 사용하여 기능을 추가할 때의 모범 사례](projects-create.md#projects-create-amazon-q) 섹션을 참조하세요.

**Amazon Q로 프로젝트를 생성하려면**

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

1. CodeCatalyst 콘솔에서 블루프린트를 생성할 스페이스로 이동합니다.

1. 스페이스 대시보드에서 **Amazon Q로 생성**을 선택합니다.

1. Amazon Q 프롬프트 텍스트 입력 필드에서 빌드하려는 프로젝트에 대한 간략한 설명을 작성하여 지침을 제공합니다. 예: `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   (선택 사항) **연습 예시**에서 블루프린트를 선택하여 미리 작성된 프롬프트를 사용할 수 있습니다. 예를 들어 React 앱을 선택하면 다음 프롬프트가 제공됩니다. `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”` 

1. **전송**을 선택하여 Amazon Q에 지침을 제출합니다. 생성형 AI 어시스턴트는 블루프린트에서 충족할 수 없는 요구 사항을 제안하고 간략하게 설명합니다. 예를 들어 Amazon Q는 사용자의 기준에 따라 다음을 제안할 수 있습니다.

   ```
   I recommend using the Modern three-tier web application blueprint based on 
                       your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Modern three-tier web application
   By Amazon Web Services
   
   This blueprint creates a Mythical Mysfits 3-tier web application with a modular presentation, application, and data layers. 
   The application leverages containers, infrastructure as code (IaC), continuous integration and continuous delivery (CI/CD), 
   and serverless code functions.
   
   Version: 0.1.163
   
   View details
   
   The following requirements could not be met so I will create issues for you.
   • Add authentication and authorization mechanisms for security and allowable actions.
   ```

1. (선택 사항) 제안된 블루프린트의 세부 정보를 보려면 **세부 정보 보기**를 선택합니다.

1. 다음 중 하나를 수행하세요.

   1. 제안에 만족하는 경우 **예, 이 블루프린트를 사용합니다**를 선택합니다.

   1. 프롬프트를 수정하려면 **프롬프트 편집**을 선택합니다.

   1. 프롬프트를 완전히 지우려면 **다시 시작**을 선택합니다.

1. 다음 중 하나를 수행하세요.

   1. 제안된 블루프린트를 구성하려면 **구성**을 선택합니다. 나중에 블루프린트를 구성할 수도 있습니다.

   1. 현재 블루프린트 구성을 수정하지 않으려면 **건너뛰기**를 선택합니다.

1. 블루프린트를 구성하기로 선택한 경우 프로젝트 리소스를 수정한 후 **계속**을 선택합니다.

1. 메시지가 표시되면 프로젝트에 할당할 이름과 관련 리소스 이름을 입력합니다. 이름은 스페이스 내에서 고유해야 합니다.

1. **프로젝트 생성**을 선택하여 블루프린트로 프로젝트를 생성합니다. Amazon Q는 블루프린트를 사용하여 리소스를 생성합니다. 예를 들어 단일 페이지 애플리케이션 블루프린트로 프로젝트를 생성하면 CI/CD에 대한 관련 코드 및 워크플로에 대한 소스 리포지토리가 생성됩니다.

1. (선택 사항) 기본적으로 Amazon Q는 블루프린트에 부합하지 않는 요구 사항에 대한 문제도 생성합니다. 문제를 생성하지 않으려는 항목을 선택할 수 있습니다. Amazon Q에서 문제를 생성하도록 선택한 후 Amazon Q에도 문제를 할당할 수 있습니다. 지정된 소스 리포지토리의 컨텍스트에서 문제를 분석하여 관련 소스 파일 및 코드의 요약을 제공합니다. 자세한 내용은 [문제 찾기 및 보기](issues-view.md), [문제를 생성하고 Amazon Q에 할당](#getting-started-project-assistance-issue-to-code), [Amazon Q에 할당된 문제를 생성하고 작업할 때의 모범 사례](issues-create-issue.md#issues-create-issue-assign-genai-best-practices) 섹션을 참조하세요.

Amazon Q를 사용하여 프로젝트를 생성한 후 마찬가지로 Amazon Q를 사용하여 새 구성 요소를 추가할 수 있습니다. Amazon Q는 요구 사항에 따라 CodeCatalyst 블루프린트를 제안합니다.

**Amazon Q에 블루프린트를 추가하려면**

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

1. CodeCatalyst 콘솔에서 블루프린트를 추가하려는 프로젝트로 이동합니다.

1. **Amazon Q로 추가**를 선택합니다.

1. Amazon Q 프롬프트 텍스트 입력 필드에서 빌드하려는 프로젝트에 대한 간략한 설명을 작성하여 지침을 제공합니다. 예: `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   (선택 사항) **연습 예시**에서 블루프린트를 선택하여 미리 작성된 프롬프트를 사용할 수 있습니다. 예를 들어 React 앱을 선택하면 다음 프롬프트가 제공됩니다. `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”` 

1. **전송**을 선택하여 Amazon Q에 지침을 제출합니다. 생성형 AI 어시스턴트는 블루프린트에서 충족할 수 없는 요구 사항을 제안하고 간략하게 설명합니다. 예를 들어 Amazon Q는 사용자의 기준에 따라 다음을 제안할 수 있습니다.

   ```
   I recommend using the Single-page application blueprint based on your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Single-page application
   By Amazon Web Services
   
   This blueprint creates a SPA (single-page application) using React, Vue, or Angular frameworks and deploys to AWS Amplify Hosting.
   
   Version: 0.2.15
   View details
   
   The following requirements could not be met so I will create issues for you.
   • The application should have reusable UI components
   • The application should support for client-side routing
   • The application may require server-side rendering for improved performance and SEO
   ```

1. (선택 사항) 제안된 블루프린트의 세부 정보를 보려면 **세부 정보 보기**를 선택합니다.

1. 다음 중 하나를 수행하세요.

   1. 제안에 만족하는 경우 **예, 이 블루프린트를 사용합니다**를 선택합니다.

   1. 프롬프트를 수정하려면 **프롬프트 편집**을 선택합니다.

   1. 프롬프트를 완전히 지우려면 **다시 시작**을 선택합니다.

1. 다음 중 하나를 수행하세요.

   1. 제안된 블루프린트를 구성하려면 **구성**을 선택합니다. 나중에 블루프린트를 구성할 수도 있습니다.

   1. 현재 블루프린트 구성을 수정하지 않으려면 **건너뛰기**를 선택합니다.

1. 블루프린트를 구성하기로 선택한 경우 프로젝트 리소스를 수정한 후 **계속**을 선택합니다.

1. **프로젝트에 추가**를 선택하여 블루프린트로 프로젝트에 리소스를 추가합니다. Amazon Q는 블루프린트를 사용하여 리소스를 생성합니다. 예를 들어 단일 페이지 애플리케이션 블루프린트를 사용하여 프로젝트에 추가하면 CI/CD에 대한 관련 코드 및 워크플로에 대한 소스 리포지토리가 생성됩니다.

1. (선택 사항) 기본적으로 Amazon Q는 블루프린트에 부합하지 않는 요구 사항에 대한 문제도 생성합니다. 문제를 생성하지 않으려는 항목을 선택할 수 있습니다. Amazon Q에서 문제를 생성하도록 선택한 후 Amazon Q에도 문제를 할당할 수 있습니다. 지정된 소스 리포지토리의 컨텍스트에서 문제를 분석하여 관련 소스 파일 및 코드의 요약을 제공합니다. 자세한 내용은 [문제를 생성하고 Amazon Q에 할당](#getting-started-project-assistance-issue-to-code) 및 [Amazon Q에 할당된 문제를 생성하고 작업할 때의 모범 사례](issues-create-issue.md#issues-create-issue-assign-genai-best-practices) 섹션을 참조하세요.

## 풀 요청을 생성할 때 브랜치 간의 코드 변경 사항 요약 생성
<a name="getting-started-project-assistance-pull-request-summary"></a>

풀 요청은 나와 프로젝트 멤버가 검토하고, 주석을 추가하며, 한 브랜치에서 다른 브랜치로 코드를 변경하기 위한 기본적인 방법입니다. 풀 요청을 사용하여 중요하지 않은 변경 내용이나 수정 사항, 중요 기능 추가 또는 릴리스된 소프트웨어의 새 버전에 대한 코드 변경 내용을 공동으로 검토할 수 있습니다. 풀 요청 설명의 일부로 코드 변경 사항과 변경의 의도를 요약하면 코드를 검토하는 다른 사용자에게 도움이 되며 시간 경과에 따른 코드 변경 사항 내역을 이해하는 데도 도움이 됩니다. 하지만 개발자는 검토자가 검토 중인 내용이나 코드 변경의 의도를 이해할 수 있도록 변경 사항을 충분히 자세히 설명하기보다는 코드의 자체 설명에 의존하거나 모호한 세부 정보를 제공하는 경우가 많습니다.

풀 요청을 생성할 때 **나를 위해 설명 작성** 기능을 사용하여 Amazon Q가 풀 요청에 포함된 변경 사항에 대한 설명을 생성하도록 할 수 있습니다. 이 옵션을 선택하면 Amazon Q는 코드 변경 사항이 포함된 소스 브랜치와 이러한 변경 사항을 병합할 대상 브랜치 간의 차이를 분석합니다. 그런 다음 이러한 변경 사항에 대한 요약과 이러한 변경의 의도 및 효과에 대한 최상의 해석을 생성합니다.

**참고**  
이 기능은 Git 하위 모듈에서 작동하지 않습니다. 풀 요청의 일부인 Git 하위 모듈의 변경 사항은 요약되지 않습니다.  
연결된 리포지토리의 풀 요청에는 이 기능을 사용할 수 없습니다.

생성한 풀 요청으로 이 기능을 시도할 수 있지만 이 자습서에서는 Python 기반 **최신 3계층 웹 애플리케이션** 블루프린트에서 생성된 프로젝트에 포함된 코드를 몇 가지 간단하게 변경하여 테스트합니다.

**작은 정보**  
다른 블루프린트 또는 자체 코드로 생성된 프로젝트를 사용하는 경우에도 이 자습서를 따를 수 있지만 이 자습서의 예시는 프로젝트의 코드와 일치하지 않습니다. 아래 제안된 예 대신 브랜치에서 프로젝트 코드를 간단히 변경한 뒤 다음 단계에 표시된 대로 풀 요청을 생성하여 기능을 테스트합니다.

먼저 소스 리포지토리에 브랜치를 생성합니다. 그런 다음 콘솔의 텍스트 편집기를 사용하여 해당 브랜치의 파일을 빠르게 코드 변경합니다. 그런 다음 풀 요청을 생성하고 **설명 쓰기** 기능을 사용하여 변경 내용을 요약합니다.

**브랜치를 생성하려면(콘솔)**

1. CodeCatalyst 콘솔에서 소스 리포지토리가 있는 프로젝트로 이동합니다.

1. 프로젝트의 소스 리포지토리 목록에서 리포지토리 이름을 선택합니다. 아니면 탐색 창에서 **코드**를 선택한 다음 **소스 리포지토리**를 선택합니다.

1. 브랜치를 생성하려는 리포지토리의 이름을 선택합니다.

1. 리포지토리의 개요 페이지에서 **추가**를 선택한 다음 **브랜치 생성**을 선택합니다.

1. 브랜치의 이름을 입력합니다.

1. 브랜치를 생성할 브랜치를 선택한 다음 **생성**을 선택합니다.

브랜치가 있으면 간단한 변경으로 해당 브랜치의 파일을 편집합니다. 이 예시에서는 `test_endpoint.py` 파일을 편집하여 테스트 재시도 횟수를 **3**에서 **5**로 변경합니다.

**작은 정보**  
개발 환경을 생성하거나 사용하여 이 코드를 변경할 수도 있습니다. 자세한 내용은 [개발 환경 생성](devenvironment-create.md) 섹션을 참조하세요.

**콘솔에서 `test_endpoint.py` 파일을 찾으려면**

1. **mysfits** 소스 리포지토리의 개요 페이지에서 브랜치 드롭다운을 선택하고 이전 절차에서 생성한 브랜치를 선택합니다.

1. **파일**에서 편집하려는 파일로 이동합니다. 예를 들어 `test_endpoint.py` 파일을 편집하려면 **테스트**를 확장하고 **통합**을 확장한 다음 `test_endpoint.py`를 선택합니다.

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

1. 7번 줄에서 모든 테스트를 다시 시도할 횟수를 변경합니다. 변경 전:

   ```
   def test_list_all(retry=3):
   ```

   변경 후:

   ```
   def test_list_all(retry=5):
   ```

1. **커밋**을 선택하고 변경 사항을 브랜치에 커밋합니다.

이제 변경 사항이 있는 브랜치가 있으므로 풀 요청을 생성할 수 있습니다.

**변경 사항 요약을 사용하여 풀 요청 생성**

1. 리포지토리의 개요 페이지에서 **추가**를 선택한 다음 **풀 요청 생성**을 선택합니다.

1. **대상 브랜치**에서 코드를 검토한 후 병합할 브랜치를 선택합니다.
**작은 정보**  
이 기능을 가장 간단하게 시연하려면 이전 절차에서 브랜치를 생성한 브랜치를 선택합니다. 예를 들어 리포지토리의 기본 브랜치에서 브랜치를 생성한 경우 풀 요청의 대상 브랜치로 해당 브랜치를 선택합니다.

1. **소스 브랜치**에서 `test_endpoint.py` 파일에 방금 커밋한 변경 사항이 포함된 브랜치를 선택합니다.

1. **풀 요청 제목**에 다른 사용자가 검토해야 할 사항과 이유를 이해하는 데 도움이 되는 제목을 입력합니다.

1. **풀 요청 설명**에서 **설명 쓰기**를 선택하여 Amazon Q가 풀 요청에 포함된 변경 사항에 대한 설명을 생성하도록 합니다.

1. 변경 사항 요약이 나타납니다. 제안된 텍스트를 검토한 다음 **수락을 선택하고 설명에 추가합니다**.

1. 선택적으로 코드에 대한 변경 사항을 더 잘 반영하도록 요약을 수정합니다. 검토자를 추가하거나 이 풀 요청에 문제를 연결하도록 선택할 수도 있습니다. 원하는 추가 변경을 완료했으면 **생성**을 선택합니다.

## 풀 요청의 코드 변경에 대해 남긴 주석 요약 생성
<a name="getting-started-project-assistance-comment-summary"></a>

사용자가 풀 요청을 검토할 때 해당 풀 요청의 변경 사항에 대해 여러 개의 주석을 남기는 경우가 많습니다. 많은 검토자의 의견이 많으면 피드백에서 일반적인 주제를 선택하거나 모든 개정에서 모든 의견을 검토했는지 확인하는 것이 어려울 수 있습니다. **설명 요약 생성** 기능을 사용하여 Amazon Q가 풀 요청의 코드 변경에 남아 있는 모든 설명을 분석하고 해당 설명의 요약을 생성하도록 할 수 있습니다.

**참고**  
주석 요약은 일시적입니다. 풀 요청을 새로 고치면 요약이 사라집니다. 콘텐츠 요약에는 전체 풀 요청에 대한 주석이 포함되지 않으며 풀 요청 개정의 코드 차이에 대한 주석만 남았습니다.  
이 기능은 Git 하위 모듈의 코드 변경에 대한 주석이 남아 있는 경우 작동하지 않습니다.  
연결된 리포지토리의 풀 요청에는 이 기능을 사용할 수 없습니다.

**풀 요청에서 주석 요약을 생성하려면**

1. 이전 절차에서 생성한 풀 요청으로 이동합니다.
**작은 정보**  
원하는 경우 프로젝트에서 열려 있는 풀 요청을 사용할 수 있습니다. 탐색 모음에서 **코드**를 선택하고 **풀 요청**을 선택한 다음 열려 있는 풀 요청을 선택합니다.

1. 풀 요청에 아직 주석이 없는 경우 **변경 사항**의 풀 요청에 몇 가지 주석을 추가합니다.

1. **개요**에서 **의견 요약 생성**을 선택합니다. 완료되면 **주석 요약** 섹션이 확장됩니다.

1. 풀 요청 개정의 코드 변경에 대해 남아 있는 의견 요약을 검토하고 풀 요청의 의견과 비교합니다.

## 문제를 생성하고 Amazon Q에 할당
<a name="getting-started-project-assistance-issue-to-code"></a>

개발 팀은 작업을 추적하고 관리하기 위해 문제를 발생시키지만, 누가 문제를 처리해야 하는지 명확하지 않거나, 문제에 코드 기반에서 특정 부분을 조사해야 하거나, 다른 긴급 작업에 먼저 참석해야 하기 때문에 문제가 지속되는 경우가 있습니다. CodeCatalyst에는 소프트웨어 개발용 Amazon Q Developer Agent와의 통합이 포함됩니다. 제목과 설명을 기반으로 문제를 분석할 수 있는 **Amazon Q**라는 생성형 AI 어시스턴트에 문제를 할당할 수 있습니다. Amazon Q에 문제를 할당하면 평가할 초안 솔루션을 생성하려고 시도합니다. 이렇게 하면 사용자와 팀이 주의가 필요한 문제에 집중하고 작업을 최적화하는 데 도움이 되며, Amazon Q는 즉시 해결할 리소스가 없는 문제에 대한 솔루션을 제공합니다.

**작은 정보**  
**Amazon Q**는 간단하고 단순한 문제를 다룰 때 최상의 성능을 발휘합니다. 최상의 결과를 얻으려면 일반적인 언어를 사용하여 수행하려는 작업을 명확하게 설명하세요.

**Amazon Q**에 문제를 할당하면 CodeCatalyst는 Amazon Q가 문제를 어떻게 처리할지 확인할 때까지 해당 문제를 차단됨으로 표시합니다. 계속하려면 세 가지 질문에 답해야 합니다.
+  필요한 모든 단계를 확인할지 또는 피드백 없이 진행할지 여부. 각 단계를 확인하기로 선택하는 경우, Amazon Q에 생성하는 접근 방식에 대한 피드백을 회신하여 필요한 경우 해당 접근 방식을 반복할 수 있습니다. Amazon Q는 또한 이 옵션을 선택하면 사용자가 생성한 풀 요청에 대해 남기는 피드백을 검토할 수 있습니다. 각 단계를 확인하지 않기로 선택하면 Amazon Q가 작업을 더 빨리 완료할 수 있지만 문제 또는 해당 단계에서 생성한 풀 요청에서 제공한 피드백은 검토되지 않습니다.
+ 작업의 일부로 워크플로 파일을 업데이트하도록 허용할지 여부입니다. 프로젝트에 풀 요청 이벤트에 대한 실행을 시작하도록 구성된 워크플로가 있을 수 있습니다. 그렇다면 Amazon Q가 생성했으며 워크플로 YAML 생성 또는 업데이트를 포함하고 있는 풀 요청은 해당 풀 요청에 포함된 워크플로의 실행을 시작할 수 있습니다. 프로젝트에서 생성한 풀 요청을 검토하고 승인하기 전에 이러한 워크플로를 자동으로 실행하는 워크플로가 없다는 사실이 확인되지 않았다면 Amazon Q가 워크플로 파일에서 작업하도록 허용하지 않는 것이 가장 좋습니다.
+ 문제의 작업을 Amazon Q 자체를 포함하여 사용자에게 개별적으로 할당할 수 있는 더 작은 증분으로 세분화하는 작업을 생성하도록 허용할지 여부입니다. Amazon Q가 작업을 제안하고 생성하도록 허용하면 여러 사람이 문제의 개별 부분을 처리할 수 있도록 하여 복잡한 문제에 대한 개발을 가속화하는 데 도움이 될 수 있습니다. 또한 각 작업을 완료하는 데 필요한 작업이 속한 문제보다 더 간단하기 때문에 작업 전체를 이해하는 복잡성을 줄이는 데 도움이 될 수 있습니다.
+ 작업할 소스 리포지토리입니다. 프로젝트에 여러 소스 리포지토리가 있더라도 Amazon Q는 하나의 소스 리포지토리에서만 코드 작업을 수행할 수 있습니다. 연결된 리포지토리는 지원되지 않습니다.

선택을 하고 확인한 후 **Amazon Q**는 지정된 리포지토리의 코드뿐만 아니라 문제 제목 및 설명을 기반으로 요청이 무엇인지 확인하려고 시도하는 동안 문제를 **진행 중** 상태로 이동합니다. 고정된 주석이 생성되어 작업 상태에 대한 업데이트를 제공합니다. 데이터를 검토한 후 Amazon Q는 솔루션에 대한 잠재적 접근 방식을 공식화합니다. Amazon Q는 고정된 주석을 업데이트하고 모든 단계에서 문제에 대한 진행 상황에 주석을 달아 작업을 기록합니다. 고정된 주석 및 답글과 달리 작업에 대한 엄격한 시간적 기록은 유지되지 않습니다. 대신 고정 주석의 최상위 수준에 작업에 대한 가장 적절한 정보를 추가합니다. 리포지토리에 이미 있는 코드에 대한 접근 방식 및 분석을 기반으로 코드를 생성하려고 시도합니다. 잠재적 솔루션을 성공적으로 생성하면 브랜치를 생성하고 해당 브랜치에 코드를 커밋합니다. 그런 다음 해당 브랜치를 기본 브랜치와 병합하는 풀 요청을 생성합니다. Amazon Q가 작업을 완료하면 문제를 **검토 중**으로 이동하므로 사용자와 팀이 평가할 수 있는 코드가 있는지 알 수 있습니다.

**참고**  
이 기능은 미국 서부(오리건) 리전의 **문제**를 통해서만 사용할 수 있습니다. **Jira 소프트웨어** 확장 프로그램과 함께 Jira를 사용하도록 프로젝트를 구성한 경우에는 사용할 수 없습니다. 또한 보드의 레이아웃을 사용자 지정한 경우 상태가 변경되지 않을 수 있습니다. 최상의 결과를 얻으려면 표준 보드 레이아웃이 있는 프로젝트에서만 이 기능을 사용합니다.  
이 기능은 Git 하위 모듈에서 작동하지 않습니다. 리포지토리에 포함된 Git 하위 모듈은 변경할 수 없습니다.  
Amazon Q에 문제를 할당한 후에는 문제의 제목 또는 설명을 변경하거나 다른 사람에게 할당할 수 없습니다. 문제에서 **Amazon Q**를 할당 취소하면 현재 단계가 완료된 다음 작업이 중지됩니다. 작업을 재개하거나 할당 해제된 후에는 문제에 재할당할 수 없습니다.  
사용자가 작업 생성을 허용하기로 선택한 경우 Amazon Q에 할당된 경우 **검토 중** 열로 문제를 자동으로 이동할 수 있습니다. 그러나 **검토 중** 문제에는 **진행 중** 상태와 같이 다른 상태의 태스크가 여전히 있을 수 있습니다.

자습서의 이 부분에서는 **최신 3계층 웹 애플리케이션** 블루프린트로 생성된 프로젝트에 포함된 코드에 대한 잠재적 기능을 기반으로 세 가지 문제를 생성합니다. 하나는 a를 추가하여 새 mysfit 객체를 생성하고, 다른 하나는 정렬 기능을 추가하고, 다른 하나는 **test**라는 브랜치를 포함하도록 워크플로를 업데이트하는 것입니다.

**참고**  
 코드가 다른 프로젝트에서 작업하는 경우 해당 코드 기반과 관련된 제목 및 설명 문제를 생성합니다.

**문제를 생성하고 평가할 솔루션을 생성하려면**

1. 탐색 창에서 **문제**를 선택하고 **보드** 보기에 있는지 확인합니다.

1. **문제 생성**을 선택합니다.

1. 문제에 일반적인 언어로 하려는 작업을 설명하는 제목을 지정합니다. 예를 들어 이 문제에는 **Create another mysfit named Quokkapus** 제목을 입력합니다. **설명**에 다음 세부 정보를 제공합니다.

   ```
   Expand the table of mysfits to 13, and give the new mysfit the following characteristics:
   
   Name: Quokkapus
   
   Species: Quokka-Octopus hybrid
   
   Good/Evil: Good
   
   Lawful/Chaotic: Chaotic
   
   Age: 216
   
   Description: Australia is full of amazing marsupials, but there's nothing there quite like the Quokkapus. 
   She's always got a friendly smile on her face, especially when she's using her eight limbs to wrap you up 
   in a great big hug. She exists on a diet of code bugs and caffeine. If you've got some gnarly code that needsa
   assistance, adopt Quokkapus and put her to work - she'll love it! Just make sure you leave enough room for 
   her to grow, and keep that coffee coming.
   ```

1. (선택 사항) mysfit을 위한 축소판 그림 및 프로파일 사진으로 사용할 이미지를 문제에 연결합니다. 이렇게 하면 설명을 업데이트하여 사용하려는 이미지와 그 이유에 대한 세부 정보를 포함합니다. 예를 들어 설명에 'mysfit을 사용하려면 웹 사이트에 이미지 파일을 배포해야 합니다. 이 문제에 연결된 이미지를 작업의 일부로 소스 리포지토리에 추가하고 웹 사이트에 이미지를 배포합니다.'
**참고**  
연결된 이미지는 이 자습서의 상호 작용 중에 웹 사이트에 배포되거나 배포되지 않을 수 있습니다. 웹 사이트에 직접 이미지를 추가한 다음 Amazon Q에 대한 설명을 남겨 코드를 업데이트하여 풀 요청을 생성한 후 사용하려는 이미지를 가리키도록 할 수 있습니다.

   설명을 검토하고 다음 단계로 진행하기 전에 필요할 수 있는 모든 세부 정보가 포함되어 있는지 확인합니다.

1. **담당자**에서 **Amazon Q에 할당**을 선택합니다.

1. **소스 리포지토리**의 경우 소스 코드가 포함된 리포지토리의 이름을 선택합니다.

1. 필요한 경우 **각 단계 후 중지하고 작업 검토를 대기하도록 Amazon Q에 요구** 선택기를 활성 상태로 합니다.
**참고**  
각 단계 후 Amazon Q 중지 옵션을 선택하면 문제 또는 생성된 작업에 대해 의견을 제시할 수 있으며, 의견을 기반으로 Amazon Q가 접근 방식을 최대 3회 변경할 수 있습니다. 작업을 검토할 수 있도록 각 단계 후 Amazon Q 중지를 설정하지 않도록 옵션을 선택하면 Amazon Q가 피드백을 기다리지 않으므로 작업이 더 빨리 진행될 수 있지만 의견을 남기면 Amazon Q가 취하는 방향에 영향을 미칠 수 없습니다. 또한 Amazon Q는 해당 옵션을 선택한 경우 풀 요청에 남아 있는 주석에 응답하지 않습니다.

1. **Amazon Q가 워크플로 파일을 수정하도록 허용** 선택기를 비활성 상태로 둡니다.

1. **Amazon Q가 작업을 제안하도록 허용**을 활성 상태로 설정합니다.

1. **문제 생성**을 선택합니다. 보기가 문제 보드로 변경됩니다.

1. **문제 생성**을 선택하여 이번에는 제목이 **Change the get\$1all\$1mysfits() API to return mysfits sorted by the Age attribute**인 다른 문제를 생성합니다. 이 문제를 **Amazon Q**에 할당하고 문제를 생성합니다.

1. **문제 생성**을 선택하여 이번에는 제목이 **Update the OnPullRequest workflow to include a branch named test in its triggers**인 다른 문제를 생성합니다. 선택적으로 설명의 워크플로에 연결합니다. 이 문제를 **Amazon Q**에 할당하되 이번에는 **Amazon Q가 워크플로 파일을 수정하도록 허용** 선택기가 활성 상태로 설정되어 있는지 확인합니다. 문제를 생성하여 문제 보드로 돌아갑니다.
**작은 정보**  
워크플로 파일을 포함한 파일은 at 기호(`@`)를 입력하고 파일 이름을 입력하여 검색할 수 있습니다.

문제를 생성하고 할당하면 문제가 **진행 중**으로 이동합니다. Amazon Q는 고정된 주석에 문제 내에서 진행 상황을 추적하는 주석을 추가합니다. 솔루션에 대한 접근 방식을 정의할 수 있는 경우 코드 기반에 대한 분석이 포함된 **백그라운드** 섹션과 솔루션 생성에 대해 제안된 접근 방식을 자세히 설명하는 **접근** 섹션으로 문제의 설명을 업데이트합니다. Amazon Q가 문제에 설명된 문제에 대한 솔루션을 성공적으로 실행하는 경우 해당 브랜치에 제안된 솔루션을 구현하는 브랜치 및 코드 변경 사항이 생성됩니다. 제안된 코드에 Amazon Q가 알고 있는 오픈 소스 코드와 유사한 점이 포함된 경우, 해당 코드에 대한 연결이 포함된 파일을 제공하여 검토할 수 있습니다. 코드가 준비되면 제안된 코드 변경 사항을 검토하고, 해당 풀 요청에 대한 연결을 문제에 추가하고, 문제를 **검토 중**으로 이동할 수 있도록 풀 요청을 생성합니다.

**중요**  
풀 요청의 코드 변경 사항을 병합하기 전에 항상 검토해야 합니다. 다른 코드 변경과 마찬가지로 Amazon Q에서 변경한 코드를 병합하면 병합된 코드가 제대로 검토되지 않고 병합될 때 오류가 발생하는 경우 코드 기반 및 인프라 코드에 부정적인 영향을 미칠 수 있습니다.

**Amazon Q의 변경 사항이 포함된 문제 및 연결된 풀 요청을 검토하려면**

1. **문제**에서 **진행 중**인 Amazon Q에 할당된 문제를 선택합니다. 의견을 검토하여 Amazon Q의 진행 상황을 모니터링합니다. 의견이 있는 경우 배경을 검토하고 문제에 대한 설명에 있는 레코드에 접근합니다. Amazon Q가 작업을 제안하도록 허용하기로 선택한 경우 제안된 작업을 검토하고 필요한 조치를 취합니다. 예를 들어 Amazon Q에서 태스크를 제안하고 순서를 변경하거나 특정 사용자에게 태스크를 할당하려는 경우 **태스크 변경, 추가 또는 재정렬**을 선택하고 필요한 업데이트를 수행합니다. 문제 보기를 완료했으면 **X**를 선택하여 문제 창을 닫습니다.
**작은 정보**  
태스크의 진행 상황을 보려면 문제의 태스크 목록에서 태스크를 선택합니다. 작업은 보드에 별도의 항목으로 표시되지 않으며 문제를 통해서만 액세스할 수 있습니다. 작업이 Amazon Q에 할당된 경우 작업을 열어 수행하려는 작업을 승인해야 합니다. 연결된 풀 요청이 문제에 연결로 표시되지 않고 태스크에만 표시되므로 연결된 풀 요청을 보려면 태스크를 열어야 합니다. 작업에서 문제로 돌아가려면 문제에 대한 연결을 선택합니다.

1. 이제 **검토 중**인 Amazon Q에 할당된 문제를 선택합니다. 배경을 검토하고 문제에 대한 설명에서 기록으로 접근합니다. 설명을 검토하여 수행한 작업을 이해합니다. 진행 상황, 취해야 할 조치, 의견을 포함하여 이 문제와 관련된 작업을 위해 생성된 모든 작업을 검토합니다. **풀 요청**에서 **오픈** 레이블 옆의 풀 요청에 대한 연결을 선택하여 코드를 검토합니다.
**작은 정보**  
태스크에 대해 생성된 풀 요청은 태스크 보기에 연결된 풀 요청으로만 표시됩니다. 문제에 대한 연결된 풀 요청으로 표시되지 않습니다.

1. 풀 요청에서 코드 변경 사항을 검토합니다. 자세한 내용은 [풀 요청 검토](pull-requests-review.md) 섹션을 참조하세요. Amazon Q가 제안된 코드를 변경하도록 하려면 풀 요청에 대한 설명을 남겨 둡니다. 최상의 결과를 얻으려면 Amazon Q에 대한 의견을 남길 때 구체적으로 설명하세요.

   예를 들어, **Create another mysfit named Quokkapus**에 대해 생성된 풀 요청을 검토할 때 설명에 오타가 있음을 확인할 수 있습니다. "'needsa'라는 오타를 'needs'와 'a' 사이에 공백을 추가하여 수정하도록 설명을 변경하라"고 Amazon Q에 대한 주석을 남길 수 있습니다. 또는 Amazon Q에 설명을 업데이트하고 통합하도록 수정된 전체 설명을 제공하도록 지시하는 주석을 남길 수 있습니다.

   새 mysfit에 대한 이미지를 웹 사이트에 업로드한 경우 Amazon Q에 대한 주석을 남겨 새 mysfit에 사용할 이미지 및 축소판에 대한 포인터로 mysfit을 업데이트할 수 있습니다.
**참고**  
Amazon Q는 개별 의견에 응답하지 않습니다. Amazon Q는 문제를 생성할 때 승인을 위해 모든 단계 후에 중지하는 기본 옵션을 선택한 경우에만 풀 요청에 주석에 남아 있는 피드백을 통합합니다.

1. (선택 사항) 사용자와 다른 프로젝트 사용자가 코드 변경에 필요한 모든 설명을 남긴 후 **리비전 생성**을 선택하여 Amazon Q가 요청한 변경 사항을 설명에 통합하는 풀 요청의 개정을 생성하도록 합니다. 기비전 생성 진행 상황은 **변경 사항**이 아닌 **개요**에서 Amazon Q에 보고됩니다. 리비전 생성 시 Amazon Q의 최신 업데이트를 보려면 브라우저를 새로 고쳐야 합니다.
**참고**  
문제를 생성한 사용자만 풀 요청의 리비전을 생성할 수 있습니다. 풀 요청의 리비전은 하나만 요청할 수 있습니다. **리비전 생성**을 선택하기 전에 의견과 관련된 모든 문제를 해결하고 의견의 내용에 만족해야 합니다.

1. 이 예시 프로젝트의 각 풀 요청에 대해 워크플로가 실행됩니다. 풀 요청을 병합하기 전에 워크플로가 성공적으로 실행되었는지 확인합니다. 코드를 병합하기 전에 코드를 테스트할 추가 워크플로 및 환경을 생성하도록 선택할 수도 있습니다. 자세한 내용은 [워크플로 시작하기](workflows-getting-started.md) 섹션을 참조하세요.

1. 풀 요청의 최신 개정에 만족하면 **병합**을 선택합니다.

## 문제를 생성하고 Amazon Q에서 해당 이슈에 대한 작업 추천받기
<a name="getting-started-project-assistance-issue-to-tasks"></a>

문제에는 복잡하거나 긴 양의 작업이 포함될 수 있습니다. CodeCatalyst에는 소프트웨어 개발용 Amazon Q Developer Agent와의 통합이 포함됩니다. **Amazon Q**에 제목과 설명을 기준으로 문제를 분석하도록 요청하고 작업을 논리적으로 구분하여 별도의 태스크로 분할하는 것이 좋습니다. 그러면 권장 작업 목록을 생성하려고 시도합니다. 그러면 이 목록을 검토, 수정하고 생성할지 여부를 선택할 수 있습니다. 이렇게 하면 사용자와 팀이 작업의 개별 부분을 더 빠르게 달성할 수 있는 관리 가능한 방식으로 사용자에게 할당하는 데 도움이 될 수 있습니다.

**문제에 권장되는 작업 목록을 생성하고 검토하려면**

1. 탐색 창에서 **문제**를 선택하고 **보드** 보기에 있는지 확인합니다.

1. **문제 생성**을 선택합니다.

1. 문제에 일반적인 언어로 하려는 작업을 설명하는 제목을 지정합니다. 예를 들어 이 문제에는 **Change the get\$1all\$1mysfits() API to return mysfits sorted by the Good/Evil attribute** 제목을 입력합니다. **설명**에 다음 세부 정보를 제공합니다.

   ```
   Update the API to allow sorting of mysfits by whether they are Good, Neutral, or Evil. Add a button on the website that allows users to quickly choose this sort and to exclude alignments that they don't want to see.
   ```

1. 설명을 검토하고 다음 단계로 진행하기 전에 필요할 수 있는 모든 세부 정보가 포함되어 있는지 확인합니다.

1. **담당자**에서 문제를 자신에게 할당하도록 선택합니다.

1. **문제 생성**을 선택합니다. 보기가 문제 보드로 변경됩니다.

1. 방금 생성한 문제를 선택하여 엽니다. **작업 추천**을 선택합니다.

1. 리포지토리의 경우 소스 코드가 포함된 리포지토리의 이름을 선택합니다. **작업 추천 시작**을 선택합니다.

대화 상자가 닫히고 Amazon Q가 문제의 복잡성 분석을 시작합니다. 문제가 복잡한 경우 작업을 별도의 순차적 작업으로 세분화하는 것이 좋습니다. 목록이 준비되면 **추천 작업 보기**를 선택합니다. 작업을 추가하고 추천 작업을 수정하고 작업 순서를 변경할 수 있습니다. 추천 사항에 동의하는 경우 **작업 생성**을 선택하면 작업이 생성됩니다. 그런 다음 작업을 수행할 사용자에게 할당하거나 Amazon Q 자체에도 할당할 수 있습니다.

## 리소스 정리
<a name="getting-started-project-assistance-clean-up"></a>

이 자습서를 완료한 후에는 다음 작업을 수행하여 이 자습서 중에 생성한 리소스 중 더 이상 필요하지 않은 리소스를 정리하는 것이 좋습니다.
+ 더 이상 작업하지 않는 모든 문제에서 Amazon Q 할당을 취소합니다. Amazon Q가 문제에 대한 작업을 완료했거나 솔루션을 찾을 수 없는 경우 생성형 AI 기능의 최대 할당량에 도달하지 않도록 Amazon Q를 할당 취소해야 합니다. 자세한 내용은 [생성형 AI 기능 관리](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html) 및 [요금](https://codecatalyst.aws/explore/pricing)을 참조하세요.
+ 작업이 완료된 모든 문제를 **완료**로 이동합니다.
+ 프로젝트가 더 이상 필요하지 않은 경우 프로젝트를 삭제합니다.