

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

# 릴리스 준비 상태 코드 검토
<a name="release-management-release-readiness-code-review"></a>

릴리스 준비 코드 검토는 코드 변경에서 교차 리포지토리 종속성 위험, 내부 표준 규정 준수 및 액세스 제어 정확성을 평가합니다. 또한 AWS DevOps 에이전트가 관리하는 확인 환경에서 코드 변경 사항을 빌드, 실행 및 테스트하는 자동 확인 테스트를 수행합니다.

## 시작하기
<a name="getting-started"></a>

릴리스 준비 코드 검토를 사용하려면 다음 설정 단계를 완료합니다.

### 1단계: 리포지토리에서 기능 활성화
<a name="step-1-enable-capabilities-on-your-repositories"></a>

코드 검토 및 자동 테스트 기능은 연결된 GitHub 또는 GitLab 리포지토리에서 활성화해야 트리거할 수 있습니다.

파이프라인 공급자 통합 설정의 **코드 검토 및 자동 테스트** 섹션에서는 두 가지 리포지토리별 기능을 제공합니다.
+ **자동 트리거 변경 검토** - 활성화되면 DevOps Agent는 풀 요청 또는 병합 요청이 열리거나 업데이트될 때마다 릴리스 준비 코드 검토를 자동으로 실행합니다. 검토 결과는 PR/MR에 인라인 주석으로 표시됩니다.
+ **자동 확인 테스트** - 활성화되면 DevOps 에이전트는 코드 검토 중에 관리형 확인 환경에서 코드 변경 사항을 빌드, 실행 및 테스트합니다. 이를 통해 정적 분석 이상의 기능 검증이 가능합니다. 자세한 내용은 [자동 확인 테스트를](#automated-verification-testing) 참조하세요.

리포지토리마다 독립적으로 각 기능을 활성화하거나 비활성화할 수 있으므로 확인 테스트 없이 변경 검토를 사용하거나 그 반대의 경우도 마찬가지입니다.

이 섹션에는 다음과 같은 내용도 포함되어 있습니다.
+ **런타임 역할**(선택 사항) - DevOps 에이전트가 선택한 리포지토리에서 자동 기능을 실행하기 위해 수임하는 IAM 역할을 선택합니다. 이 역할은 프라이빗 패키지 레지스트리 또는 아티팩트 스토어와 같은 빌드 중에 내부 서비스에 액세스할 때 사용됩니다. 자세한 내용은 [2단계](#step-2-configure-private-vpc-access-for-the-verification-testing-environment-optional)를 참조하세요.

**GitHub의 경우:** GitHub 통합 설정에서 **코드 검토 및 자동 테스트** 섹션으로 이동하여 각 리포지토리의 기능을 활성화합니다. 두 기능은 리포지토리를 연결할 때 기본적으로 활성화됩니다. 자세한 지침은 [코드 검토 및 자동 테스트 구성을](connecting-to-cicd-pipelines-connecting-github.md) 참조하세요.

**GitLab의 경우:** GitLab 통합 설정에서 **코드 검토 및 자동 테스트** 섹션으로 이동하여 프로젝트에 대한 기능을 활성화합니다. 자세한 지침은 [코드 검토 및 자동 테스트 구성을](connecting-to-cicd-pipelines-connecting-gitlab.md) 참조하세요.

### 2단계: 확인 테스트 환경에 대한 프라이빗 VPC 액세스 구성(선택 사항)
<a name="step-2-configure-private-vpc-access-for-the-verification-testing-environment-optional"></a>

릴리스 준비 상태 코드 검토는 확인 환경에서 코드 변경 사항을 빌드, 실행 및 테스트하여 자동 확인 테스트를 수행할 수 있습니다([자동 확인 테스트](#automated-verification-testing) 참조). 코드 빌드 프로세스에 프라이빗 이미지 리포지토리(예: Artifactory, Docker Hub Enterprise), 내부 빌드 아티팩트 스토어 또는 종속 코드 리포지토리와 같은 내부 시스템의 아티팩트가 필요한 경우 확인 테스트 환경에 해당 서비스 엔드포인트에 도달할 수 있는 VPC에 대한 액세스 권한을 부여해야 합니다.

기본적으로 확인 테스트 환경에는 내부 시스템에 대한 네트워크 액세스 권한이 없습니다. 액세스를 활성화하려면 프라이빗 연결을 생성하고 파이프라인 공급자([GitHub](connecting-to-cicd-pipelines-connecting-github.md) 또는 [GitLab](connecting-to-cicd-pipelines-connecting-gitlab.md))와 연결합니다. 확인 테스트 환경은 VPC 내에서 ENI를 생성 및 관리하여 해당 프라이빗 연결과 연결된 VPC를 사용하여 빌드 환경 네트워크에 내부 서비스에 대한 액세스 권한을 부여합니다.

**참고**  
** 계정VPCs와 통합하면 네트워크 제한에 따라 내부 경로를 통해 네트워크 트래픽이 라우팅됩니다.

확인 테스트를 위해 프라이빗 VPC 액세스를 구성하려면:

1. 내부 빌드 서비스에 연결할 수 있는 VPC를 대상으로 하는 프라이빗 연결을 생성합니다. 지침은 [프라이빗 호스팅 도구에 연결](configuring-integrations-and-knowledge-connecting-to-privately-hosted-tools.md) 섹션을 참조하세요.

1.  AWS DevOps 에이전트 콘솔을 열고 에이전트 공간으로 이동합니다.

1. **기능** 탭으로 이동하여 파이프라인 공급자(GitHub 또는 GitLab)를 선택합니다.

1. **코드 검토 및 자동 테스트** 섹션에서 사용 가능한 연결 중에서 선택하여 프라이빗 연결을 파이프라인 공급자와 연결합니다.

1. **런타임 역할**에서 빌드 중에 내부 서비스에 액세스할 때 DevOps 에이전트가 수임할 IAM 역할을 선택합니다. 이 역할에는 에이전트 스페이스와 동일한 AWS 계정의 AWS Secrets Manager에 액세스할 수 있는 권한이 있어야 합니다. 기본 에이전트 역할과 다른 역할을 사용하는 것이 좋습니다.

1. **저장**을 선택하여 구성을 적용합니다.

연결되면 확인 테스트 환경은 프라이빗 연결의 VPC에 ENI를 프로비저닝하여 코드 검토 빌드 중에 내부 서비스에 대한 직접 네트워크 액세스를 제공합니다.

## 코드 검토 수행
<a name="performing-a-code-review"></a>

DevOps 에이전트 채팅을 통해 온디맨드 방식으로 코드 검토를 요청할 수 있습니다.
+ “리포지토리 결제 서비스에 대한 브랜치 기능/결제에서 릴리스 위험 검토”
+ “릴리스 준비를 위해 리포지토리 인프라에서 커밋 abc123 검토”
+ “리포지토리 주문 서비스의 최신 변경 사항에는 어떤 릴리스 위험이 있나요?”

에이전트는 지정된 범위, 즉 브랜치, 커밋 또는 변경 세트를 평가하고 릴리스 준비 보고서를 반환합니다. 보고서에는 다음이 포함됩니다.
+ **권장 작업** - 차단, 주의하여 진행 또는 안전한 릴리스
+ **변경 사항 요약** - 수정된 내용 및 영향 범위
+ **위험 분석** - 영향을 받는 코드 위치가 있는 특정 조사 결과
+ **권장 사항** - 각 결과를 해결하기 위한 실행 가능한 단계

검토는 일반적으로 변경의 크기와 복잡성에 따라 8\~10분 후에 완료됩니다.

## 자동 코드 검토
<a name="automated-code-reviews"></a>

자동 코드 검토는 수동 개입 없이 실행됩니다. 두 가지 컨텍스트에서 트리거할 수 있습니다.

### 코드 생성 중 코드 검토
<a name="code-reviews-during-code-generation"></a>

Kiro Power 또는 Claude 코드 플러그인을 사용하는 경우 코딩 에이전트는 코드가 생성될 때 릴리스 준비 검토를 호출할 수 있습니다. 검토는 진행 중인 변경 사항을 정책 및 종속성에 대해 평가하여 코드가 커밋되기 전에 IDE에서 직접 조사 결과를 보여줍니다.

문제가 발견되면 코딩 에이전트는 알림을 받고 정책 위반을 수정하거나, 과도하게 권한이 부여된 IAM 정책을 수정하거나, 다른 리포지토리의 종속 변경 사항을 준비하는 등 문제를 즉시 해결할 수 있습니다.

### 풀 요청 및 병합 요청의 코드 검토
<a name="code-reviews-in-pull-requests-and-merge-requests"></a>

자동 PR/MR 검토가 활성화되면 에이전트는 연결된 리포지토리에서 모든 새 풀 요청 및 병합 요청을 검토합니다. 다음과 같은 경우 트리거를 검토합니다.
+ 새 PR/MR이 열립니다.
+ 새 커밋이 기존 PR/MR로 푸시됨

결과는 영향을 받는 코드 줄에 인라인 주석으로 표시되며 전체 평가는 PR/MR 주석으로 게시됩니다. 조사 결과 블록이 병합되는지(필수 상태 확인) 아니면 권고인지를 구성할 수 있습니다.

## 자동 확인 테스트
<a name="automated-verification-testing"></a>

릴리스 준비 위험 평가가 트리거되면 DevOps Agent는 AWS관리형 확인 환경을 생성하고 코드를 복제합니다. 환경은 빌드, 아티팩트 스토리지 및 검색을 위해 신뢰할 수 있는 서비스에 대한 액세스를 제한하는 네트워크 제한이 있는 전용 컴퓨팅 리소스에서 실행됩니다.

DevOps Agent는 애플리케이션의 코드 및 프로젝트 파일을 읽어 필요한 빌드 도구 및 종속성을 확인한 다음 확인 환경에 설치합니다. 애플리케이션을 성공적으로 빌드한 후 에이전트는 테스트 계획을 생성하고 실행하여 실패 또는 예상치 못한 동작을 초래할 수 있는 엣지 케이스와 같은 기능적 위험을 식별합니다.

확인 테스트 결과는 표준, 종속성 및 액세스 제어 결과와 함께 최종 릴리스 준비 보고서에 포함되어 있습니다.

[에이전트 지침](about-aws-devops-agent-agent-instructions.md) (AGENTS.md)를 사용하여 검증 테스트 수행 방식을 조정할 수 있습니다. 예를 들어 실행할 테스트 명령, 전달 빌드를 구성하는 명령 또는 검증 중에 실행할 애플리케이션 부분을 지정할 수 있습니다.

### 허용된 네트워크 대상
<a name="allowed-network-destinations"></a>

확인 테스트 환경에는 사전 정의된 허용 목록으로 제한된 아웃바운드 네트워크 액세스가 있습니다. 애플리케이션은 검증 중에 다음 도메인에 도달할 수 있습니다.


| 도메인 | 용도 | 
| --- | --- | 
| .amazonaws.com, .aws.amazon.com | AWS 서비스 | 
| .public.ecr.aws | Amazon ECR 퍼블릭 | 
| .docker.com, .docker.io | Docker Hub | 
| .github.com, .githubusercontent.com | GitHub | 
| .gitlab.com | GitLab | 
| .npmjs.com, .npmjs.org | npm 레지스트리 | 
| .pypi.org, .pypi.python.org, .pythonhosted.org | Python Package Index | 
| .crates.io, .rustup.rs | Rust 패키지 | 
| .maven.org, .gradle.org | Java/Gradle 패키지 | 
| .nuget.org | .NET 패키지 | 
| .rubygems.org, .ruby-lang.org | Ruby 패키지 | 
| .golang.org, .pkg.go.dev, .goproxy.io | Go 패키지 | 
| .nodejs.org, .yarnpkg.com | Node.js | 
| .alpinelinux.org, .debian.org, .ubuntu.com, .centos.org, .fedoraproject.org | Linux 배포 리포지토리 | 
| .cloudfront.net | CloudFront 배포 | 
| .google.com, .googleapis.com | Google APIs | 
| .microsoft.com, .visualstudio.com | Microsoft 서비스 | 
| .sourceforge.net, .bitbucket.org | 소스 호스팅 | 

**참고**  
** 애플리케이션에이 목록에 없는 도메인에 대한 네트워크 액세스가 필요한 경우 확인 테스트 환경을 VPC에 연결하면 에이전트가 자체 네트워크 방화벽 설정을 사용하여 애플리케이션에 필요한 모든 서비스에 대한 액세스를 구성할 수 있습니다.

## 코드 검토 결과 검토
<a name="reviewing-code-review-results"></a>

각 코드 검토는 DevOps 에이전트 웹 앱의 **변경** 페이지에서 액세스할 수 있는 보고서를 생성합니다. 보고서에는 다음이 포함됩니다.
+ **범주 찾기** - 정책 위반, 종속성 위험, 액세스 제어 문제 및 테스트 적용 범위 격차
+ **심각도 수준** - 차단(병합 전에 수정해야 함), 경고(주소 지정해야 함) 및 정보 제공(인식 전용)
+ **실행 저널** - 에이전트가 사용하는 평가 단계 및 도구의 전체 트레이스로, 결론에 도달하는 방법에 대한 투명성 제공

DevOps 에이전트 채팅에서 후속 질문을 할 수도 있습니다. "검토에서 42행의 IAM 변경에 플래그를 지정한 이유는 무엇입니까?" 또는 "수정한 API 엔드포인트에 따라 어떤 리포지토리가 달라지나요?"

## Kiro IDE 및 CLI와 통합
<a name="integrate-with-kiro-ide-and-cli"></a>

Kiro에서 릴리스 준비 코드 검토를 사용하려면:

1. Kiro Power Marketplace에서 DevOps 에이전트 Kiro Power 설치

1. Power에는 중요한 코드 변경 후 PR을 생성하기 전에 릴리스 준비 검토를 호출할 시기를 코딩 에이전트에게 지시하는 기술이 포함되어 있습니다.

1. 결과는 IDE에 직접 표시되며 Kiro는 식별된 문제를 해결하기 위해를 제공합니다.

Kiro CLI에서 명시적으로 검토를 트리거할 수도 있습니다. 코딩 에이전트는 릴리스 준비 검토를 호출하고 결과를 워크플로에 통합합니다.

## Claude Code와 통합
<a name="integrate-with-claude-code"></a>

Claude Code에서 릴리스 준비 코드 검토를 사용하려면

1. DevOps 에이전트 Claude 코드 플러그인 설치

1. 플러그인은 Claude Code를 에이전트 스페이스에 연결하고 코딩 에이전트가 릴리스 준비 검토를 호출할 수 있도록 합니다.

1. 개발 중에 Claude Code는 커밋하기 전에 진행 중인 변경 사항에 대한 검토를 요청하고 조사 결과를 해결할 수 있습니다.

## AWS Transform 사용자 지정과 통합
<a name="integrate-with-aws-transform-custom"></a>

사용자 [AWS 지정 변환](https://docs.aws.amazon.com/transform/latest/userguide/custom.html)에서 릴리스 준비 코드 검토를 사용하려면:

1. GitHub의 사용자 [AWS 지정 샘플 변환 리포지토리](https://github.com/aws-samples/aws-transform-custom-samples/tree/main/client-side-skills/devops-agent-release-readiness-code-review)에서 AWS DevOps 에이전트 릴리스 준비 코드 검토 스킬을 다운로드합니다.

1. 리포지토리 README의 지침에 따라 스킬을 AWS 변환 환경에 설치합니다.

1. 설치되면 스킬이 AWS 변환의 코드 생성 워크플로와 통합됩니다. 변환이 코드를 생성하거나 수정할 때 스킬은 제안된 변경 사항에 대해 릴리스 준비 검토를 호출합니다.

1. 변환 출력에서 직접 조사 결과 표면을 검토합니다. 문제가 식별되면 변환은 코드 변경을 완료하기 전에 문제를 해결할 수 있습니다.

## GitHub에서 코드 검토 사용
<a name="using-code-reviews-in-github"></a>

사전 조건: 자동 검토가 활성화된 상태로 에이전트 스페이스에 연결된 GitHub 리포지토리입니다. 설정 지침은 [코드 검토 및 자동 테스트 구성을](connecting-to-cicd-pipelines-connecting-github.md) 참조하세요.
+ 검토는 전체 상태 설명과 함께 풀 요청 차이에 대한 인라인 설명으로 표시됩니다.
+ 차단 조사 결과가 존재할 때 병합을 차단하는 필수 상태 확인으로 구성
+ 에이전트는 기본적으로 모든 PRs 검토합니다. 경로 및 브랜치 필터링은 에이전트 공간 설정에서 구성할 수 있습니다.

## GitLab에서 코드 검토 사용
<a name="using-code-reviews-in-gitlab"></a>

사전 조건: 자동 검토가 활성화된 상태로 Agent Space에 연결된 GitLab 프로젝트입니다. 설정 지침은 [코드 검토 및 자동 테스트 구성을](connecting-to-cicd-pipelines-connecting-gitlab.md) 참조하세요.
+ 검토는 전체 메모와 함께 병합 요청 차이에 대한 인라인 주석으로 표시됩니다.
+ 차단 조사 결과를 해결해야 하는 병합 요청 승인 규칙으로를 구성합니다.
+ 에이전트는 기본적으로 모든 MRs 검토합니다. 경로 및 브랜치 필터링은 에이전트 공간 설정에서 구성할 수 있습니다.

## DevOps Agent 채팅에서 코드 검토 사용
<a name="using-code-reviews-in-devops-agent-chat"></a>

DevOps Agent 채팅에서 다음을 수행할 수 있습니다.
+ 브랜치, 커밋 또는 리포지토리 범위에 대한 검토 요청
+ 에이전트가 프로젝트의 종속성에 대해 알고 있는 것이 무엇인지 질문합니다. "어떤 코드 베이스가 결제 리포지토리에서 서비스와 상호 작용하나요?"
+ 특정 결과에 대한 후속 질문
+ 에이전트가 식별된 문제에 대한 수정 사항을 생성하도록 요청
+ 연결된 리포지토리에 대한 종속성 지식 그래프 보기

## 에이전트 안전 가드레일
<a name="agentic-safety-guardrails"></a>

릴리스 준비 검토에는 안전하지 않은 일반적인 에이전트 동작을 방지하는 내장 안전 가드레일이 포함됩니다. 이러한 가드레일은 검토 프로세스 중에 항상 활성화됩니다. 기능이 발전함에 따라 특정 적용 범위 및 적용 동작이 변경될 수 있습니다. 가능한 한 많은 일반적인 안전하지 않은 행동을 다루는 것을 목표로 하지만 일부 동작에는 해당 가드레일이 없습니다.

### 자격 증명 노출 방지
<a name="credential-exposure-prevention"></a>

에이전트는 도구 입력에 AWS 키, 액세스 토큰 및 프라이빗 키와 같은 일반 텍스트의 일반적인 자격 증명 패턴이 포함된 모든 도구 호출을 차단합니다.

### 민감한 파일 유출 감지
<a name="sensitive-file-exfiltration-detection"></a>

에이전트는 민감한 파일 경로에 대한 액세스를 네트워크 작업과 결합하는 쉘 명령을 스캔하고 차단하여 데이터 유출 시도를 방지합니다.

### 변형 AWS 작업 차단
<a name="mutative-aws-operation-blocking"></a>

에이전트는 인프라를 수정하는 모든 AWS API 호출을 차단합니다. 이렇게 하면 분석 중에 검토 에이전트가 AWS 환경을 변경할 수 없습니다. 읽기 전용 작업(설명, 가져오기, 나열)은 허용되며, 변형 작업은 차단됩니다.

`describe_*`, `get_*`및와 같은 읽기 전용 작업이 `list_*` 허용됩니다.

### 순차적 단계 적용
<a name="sequential-phase-enforcement"></a>

릴리스 준비 상태 검토 단계는 순서대로 실행되어야 합니다. 이렇게 하면 체계적이고 철저한 평가가 보장되고 불완전한 평가가 단계를 건너뛰지 않습니다.