

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

# CI/CD 파이프라인에 연결
<a name="configuring-capabilities-for-aws-devops-agent-connecting-to-cicd-pipelines-index"></a>

CI/CD 파이프라인 통합을 통해 AWS DevOps Agent는 배포를 모니터링하고 조사 중에 코드 변경 사항을 운영 인시던트와 연관시킬 수 있습니다. 에이전트는 CI/CD 공급자를 연결하여 배포 이벤트를 추적하고 AWS 리소스와 연결하여 인시던트 대응 중에 잠재적 근본 원인을 식별할 수 있습니다.

AWS DevOps Agent는 2단계 프로세스를 통해 인기 있는 CI/CD 플랫폼과의 통합을 지원합니다.

1. **계정 수준 등록 -** AWS 계정 수준에서 CI/CD 공급자를 한 번 등록합니다.

1. **에이전트 스페이스 연결** - 조직의 요구 사항에 따라 특정 프로젝트 또는 리포지토리를 개별 에이전트 스페이스에 연결

이 접근 방식을 사용하면 여러 에이전트 스페이스에서 CI/CD 공급자 등록을 공유하는 동시에 각 스페이스에서 모니터링하는 프로젝트를 세부적으로 제어할 수 있습니다.

## 지원되는 CI/CD 공급자
<a name="supported-cicd-providers"></a>

AWS DevOps Agent는 다음 CI/CD 플랫폼을 지원합니다.
+ **GitHub** - AWS DevOps 에이전트 GitHub 앱을 사용하여 [GitHub.com](http://GitHub.com)에서 리포지토리를 연결합니다. GitHub 
+ **GitLab** - [GitLab.com,](http://gitlab.com) 관리형 GitLab 인스턴스 또는 공개적으로 액세스할 수 있는 자체 호스팅 GitLab 배포에서 프로젝트를 연결합니다.

**주제**
+ [GitHub 연결](connecting-to-cicd-pipelines-connecting-github.md)
+ [GitLab 연결](connecting-to-cicd-pipelines-connecting-gitlab.md)

# GitHub 연결
<a name="connecting-to-cicd-pipelines-connecting-github"></a>

GitHub 통합을 통해 AWS DevOps Agent는 코드 리포지토리에 액세스하고 인시던트 조사 중에 배포 이벤트를 수신할 수 있습니다. 이 통합은 GitHub의 계정 수준 등록 후 특정 리포지토리를 개별 에이전트 스페이스에 연결하는 2단계 프로세스를 따릅니다.

AWS DevOps Agent는 GitHub.com(SaaS) 및 GitHub Enterprise Server(자체 호스팅) 인스턴스를 모두 지원합니다.

## 사전 조건
<a name="prerequisites"></a>

GitHub를 연결하기 전에 다음이 있는지 확인합니다.
+  AWS DevOps 에이전트 관리자 콘솔에 대한 액세스
+ 관리자 권한이 있는 GitHub 사용자 계정 또는 조직
+ 계정 또는 조직에 GitHub 앱을 설치하기 위한 권한 부여

GitHub Enterprise Server의 경우 다음 사항도 필요합니다.
+ HTTPS를 통해 액세스할 수 있는 GitHub Enterprise Server 인스턴스(버전 3.x 이상)
+ GitHub Enterprise Server 인스턴스의 HTTPS URL(예: `https://github.example.com`)
+ (선택 사항) GitHub Enterprise Server 인스턴스에 공개적으로 액세스할 수 없는 경우의 프라이빗 연결

## GitHub 등록(계정 수준)
<a name="registering-github-account-level"></a>

GitHub는 AWS 계정 수준에서 등록되고 해당 계정의 모든 에이전트 스페이스 간에 공유됩니다. GitHub는 AWS 계정당 한 번만 등록하면 됩니다.

### 1단계: 파이프라인 공급자로 이동
<a name="step-1-navigate-to-pipeline-providers"></a>

1.  AWS Management Console에 로그인

1.  AWS DevOps 에이전트 콘솔로 이동

1. **기능** 탭으로 이동

1. **파이프라인** 섹션에서 **추가**를 클릭합니다.

1. 사용 가능한 공급자 목록에서 **GitHub**를 선택합니다.

GitHub가 아직 등록되지 않은 경우 먼저 등록하라는 메시지가 표시됩니다.

### 2단계: 연결 유형 선택
<a name="step-2-choose-connection-type"></a>

"GitHub 계정/조직 등록" 화면에서 사용자 또는 조직으로 연결할지 여부를 선택합니다.
+ **사용자** - 사용자 이름과 프로필이 있는 개인 GitHub 계정
+ **조직** - 여러 사람이 여러 프로젝트에서 한 번에 협업할 수 있는 공유 GitHub 계정

GitHub Enterprise Server 인스턴스에 연결하는 경우 ** GitHub Enterprise Server 사용** 확인란을 선택하고 인스턴스의 HTTPS URL(예: `https://github.example.com`)을 입력합니다.

GitHub Enterprise Server 인스턴스에 공개적으로 액세스할 수 없는 경우 선택적으로 프라이빗 연결을 구성하여 AWS DevOps 에이전트가 인스턴스에 안전하게 연결할 수 있도록 할 수 있습니다. 자세한 내용은 [프라이빗 호스팅 도구에 연결](configuring-capabilities-for-aws-devops-agent-connecting-to-privately-hosted-tools.md) 단원을 참조하십시오.

**참고**  
** URL에 `/api/v3` 또는 후행 경로를 포함하지 마십시오. 기본 URL만 입력합니다.

### 3단계: GitHub 앱 설정
<a name="step-3-set-up-the-github-app"></a>

**제출**을 클릭하여 앱 설정 프로세스를 시작합니다. 다음 단계는 GitHub.com에 연결하는지 아니면 GitHub Enterprise Server에 연결하는지에 따라 다릅니다.

#### GitHub.com의 경우
<a name="for-githubcom"></a>

1.  AWS DevOps 에이전트 GitHub 앱을 설치하기 위해 GitHub로 리디렉션됩니다.

1. 앱을 설치할 계정 또는 조직을 선택합니다.

1. 앱은 AWS DevOps 에이전트가 연결된 리포지토리에서 배포 이벤트를 포함한 이벤트를 수신할 수 있도록 허용합니다.

#### GitHub Enterprise Server의 경우
<a name="for-github-enterprise-server"></a>

GitHub Enterprise Server는 인스턴스에 새 GitHub 앱을 자동으로 설정하는 GitHub 앱 매니페스트 흐름을 사용합니다. 여기에는 GitHub Enterprise Server 인스턴스에 대한 두 개의 리디렉션이 포함됩니다.

1. 브라우저가 GitHub Enterprise Server 인스턴스의 "GitHub 앱 생성" 페이지로 리디렉션됩니다.

1. 앱 이름이 미리 채워져 표시됩니다. 필요에 따라 이름을 자유롭게 변경할 수 있습니다. **GitHub 앱 생성을** 클릭합니다.

1. 매니페스트 코드를 앱 자격 증명으로 교환하는 AWS DevOps 에이전트로 다시 리디렉션됩니다.

### 4단계: 리포지토리 선택 및 설치 완료
<a name="step-4-select-repositories-and-complete-installation"></a>

1. GitHub 앱의 **설치 및 권한 부여** 페이지가 표시됩니다.

1. 앱이 액세스할 수 있도록 허용할 리포지토리를 선택합니다.
   + **모든 리포지토리** - 모든 현재 및 향후 리포지토리에 대한 액세스 권한 부여
   + **리포지토리만 선택** - 계정 또는 조직에서 특정 리포지토리를 선택합니다.

1. **설치 및 권한 부여를** 클릭합니다.

1.  AWS DevOps 에이전트 콘솔로 다시 리디렉션됩니다. 여기서 GitHub는 계정 수준에서 등록된 것으로 표시됩니다.

## 에이전트 스페이스에 리포지토리 연결
<a name="connecting-repositories-to-an-agent-space"></a>

계정 수준에서 GitHub를 등록한 후 특정 리포지토리를 개별 에이전트 스페이스에 연결할 수 있습니다.

1.  AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택합니다.

1. **기능** 탭으로 이동

1. **파이프라인** 섹션에서 **추가**를 클릭합니다.

1. 사용 가능한 공급자 목록에서 **GitHub**를 선택합니다.

1. 이 에이전트 스페이스와 관련된 리포지토리의 하위 집합 선택

1. **추가**를 클릭하여 연결을 완료합니다.

조직의 필요에 따라 서로 다른 리포지토리 세트를 서로 다른 에이전트 스페이스에 연결할 수 있습니다.

## GitHub 앱 이해
<a name="understanding-the-github-app"></a>

 AWS DevOps 에이전트 GitHub 앱:
+ 리포지토리에 대한 읽기 전용 액세스 요청
+ 배포 이벤트 및 기타 리포지토리 이벤트를 수신합니다.
+ 코드 변경 사항을 운영 인시던트와 연관시킬 수 있는 Allow AWS DevOps Agent
+ GitHub 설정을 통해 언제든지 제거할 수 있습니다.

GitHub Enterprise Server의 경우 GitHub 앱은 등록 중에 인스턴스에 자동으로 생성됩니다. **설정 > 애플리케이션 > 설치된 GitHub 앱을 통해 앱의 리포지토리 액세스를 관리하거나 제거할 수 있습니다**. 앱 정의를 완전히 삭제하려면 **설정 > 개발자 설정 > GitHub 앱으로** 이동합니다.

## GitHub 연결 관리
<a name="managing-github-connections"></a>
+ **리포지토리 액세스 업데이트** - GitHub 앱이 액세스할 수 있는 리포지토리를 변경하려면 GitHub 계정 또는 조직 설정(또는 GitHub Enterprise Server 인스턴스 설정)으로 이동하여 설치된 GitHub 앱으로 이동하여 AWS DevOps Agent 앱 구성을 수정합니다.
+ **연결된 리포지토리 보기** - AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택하고 기능 탭으로 이동하여 파이프라인 섹션에서 연결된 리포지토리를 봅니다.
+ **GitHub 연결 제거** - 에이전트 공간에서 GitHub를 연결 해제하려면 파이프라인 섹션에서 연결을 선택하고 **제거**를 클릭합니다. GitHub 앱을 완전히 제거하려면 GitHub 계정 또는 조직 설정에서 제거합니다. GitHub Enterprise Server의 경우 GitHub 앱은 등록 중에 인스턴스에서 직접 생성되므로 선택적으로 다음 두 가지를 모두 수행하여 앱을 완전히 정리할 수 있습니다.
  + **앱 제거** - **설정 > 애플리케이션 > 설치된 GitHub 앱**으로 이동하여 앱에서 **구성을** 클릭한 다음 제거합니다.
  + **앱 삭제** - **설정 > 개발자 설정 > GitHub 앱**으로 이동하여 앱을 선택하고 **고급** 탭으로 이동한 다음 ** GitHub 앱 삭제**를 선택합니다. **경고:** GitHub 앱 삭제는 영구적이며 실행 취소할 수 없습니다. 삭제하는 경우 AWS DevOps 에이전트 콘솔의 처음부터 GitHub Enterprise Server를 다시 등록하여 새 앱을 생성해야 합니다.

# GitLab 연결
<a name="connecting-to-cicd-pipelines-connecting-gitlab"></a>

GitLab 통합을 통해 AWS DevOps Agent는 GitLab Pipelines의 배포를 모니터링하여 인시던트 대응 중에 인과 조사를 알릴 수 있습니다. 이 통합은 GitLab의 계정 수준 등록 후 특정 프로젝트를 개별 에이전트 스페이스에 연결하는 2단계 프로세스를 따릅니다.

## GitLab 등록(계정 수준)
<a name="registering-gitlab-account-level"></a>

GitLab은 AWS 계정 수준에서 등록되고 해당 계정의 모든 에이전트 스페이스 간에 공유됩니다. 그러면 개별 에이전트 스페이스는 에이전트 스페이스에 적용할 특정 프로젝트를 선택할 수 있습니다.

### 1단계: 파이프라인 공급자로 이동
<a name="step-1-navigate-to-pipeline-providers"></a>

1.  AWS Management Console에 로그인

1.  AWS DevOps 에이전트 콘솔로 이동

1. **기능 공급자** 페이지로 이동(측면 탐색에서 액세스 가능)

1. **파이프라인** 아래의 **사용 가능한** 공급자 섹션에서 **GitLab**을 찾고 **등록**을 클릭합니다.

### 2단계: GitLab 연결 구성
<a name="step-2-configure-gitlab-connection"></a>

GitLab 등록 페이지에서 다음을 구성합니다.

**연결 유형** - 개인 또는 그룹으로 연결할지 여부를 선택합니다.
+ **개인**(기본값) - 사용자 이름과 프로필이 있는 개별 GitLab 사용자 계정
+ **그룹** - GitLab에서는 그룹을 사용하여 하나 이상의 관련 프로젝트를 동시에 관리합니다.

**GitLab 인스턴스 유형** - 연결할 GitLab 인스턴스 유형을 선택합니다.
+ **GitLab.com**(기본값) - 퍼블릭 GitLab 서비스
+ **공개적으로 액세스할 수 있는 자체 호스팅 GitLab -** ** GitLab 자체 호스팅 엔드포인트 사용** 확인란을 선택하고 GitLab 인스턴스에 URL을 제공합니다.

**참고**  
** 현재 공개적으로 액세스할 수 있는 GitLab 인스턴스만 지원됩니다.

**액세스 토큰** - GitLab 개인 액세스 토큰을 제공합니다.

1. 별도의 브라우저 탭에서 GitLab 계정에 로그인합니다.

1. 사용자 설정으로 이동하여 **액세스 토큰을** 선택합니다.

1. 다음 권한을 사용하여 새 개인 액세스 토큰을 생성합니다.
   + `read_repository` - 리포지토리 콘텐츠에 액세스하는 데 필요합니다.
   + `read_virtual_registry` - 가상 레지스트리 정보에 액세스하는 데 필요합니다.
   + `read_registry` - 레지스트리 정보에 액세스하는 데 필요합니다.
   + `api` - 읽기 및 쓰기 API 액세스에 필요합니다.
   + `self_rotate` - 토큰 교체에 필요합니다. 이 기능은 현재 AWS DevOps Agent에서 지원되지 않지만 나중에 지원됩니다. 이제를 추가하면 향후 새 토큰을 생성할 필요가 없습니다.

1. 토큰 만료를 현재 날짜로부터 최대 365일로 설정합니다.

1. 생성된 토큰 복사

1.  AWS DevOps 에이전트 콘솔로 돌아가기

1. 토큰을 “토큰 액세스” 필드에 붙여넣습니다.

### 3단계: 등록 완료
<a name="step-3-complete-registration"></a>

**(선택 사항) 태그 **- 조직용으로 GitLab 등록에 AWS 태그를 추가합니다.

**다음을** 클릭하여 구성을 검토한 다음 **제출**을 클릭하여 GitLab 등록 프로세스를 완료합니다. 시스템에서 액세스 토큰을 검증하고 연결을 설정합니다.

## 에이전트 스페이스에 프로젝트 연결
<a name="connecting-projects-to-an-agent-space"></a>

계정 수준에서 GitLab을 등록한 후 특정 프로젝트를 개별 에이전트 스페이스에 연결할 수 있습니다.

1.  AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택합니다.

1. **기능** 탭으로 이동

1. **파이프라인** 섹션에서 **추가**를 클릭합니다.

1. 사용 가능한 공급자 목록에서 **GitLab**을 선택합니다.

1. 에이전트 스페이스와 관련된 GitLab 프로젝트를 선택합니다.

1. **저장**을 클릭합니다.

AWS DevOps Agent는 이러한 프로젝트의 GitLab Pipelines 배포를 모니터링하여 인과 조사를 알립니다.

## GitLab 연결 관리
<a name="managing-gitlab-connections"></a>
+ **액세스 토큰 업데이트 **- 액세스 토큰이 만료되거나 업데이트해야 하는 경우 계정 수준에서 GitLab 등록을 수정하여 AWS DevOps 에이전트 콘솔에서 업데이트할 수 있습니다.
+ **연결된 프로젝트 보기** - AWS DevOps 에이전트 콘솔에서 에이전트 스페이스를 선택하고 기능 탭으로 이동하여 파이프라인 섹션에서 연결된 프로젝트를 봅니다.
+ **GitLab 연결 제거** - 에이전트 공간에서 GitLab 프로젝트를 연결 해제하려면 파이프라인 섹션에서 연결을 선택하고 **제거**를 클릭합니다. GitLab 등록을 완전히 제거하려면 먼저 모든 에이전트 스페이스에서 제거한 다음 계정 수준에서 등록을 삭제합니다.