

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

# 파트너 제품 및 서비스와의 통합
<a name="integrations-partners"></a>

CodeDeploy는 다음 파트너 제품 및 서비스와 기본적으로 통합되어 있습니다.


|  |  | 
| --- |--- |
| Ansible |  [Ansible](http://www.ansible.com) 플레이북 세트가 이미 있는데 어딘가에서 실행해야 하는 경우, Ansible 및 CodeDeploy용 템플릿은 단순한 배포 후크 2개가 로컬 배포 인스턴스에서 Ansible의 사용 및 플레이북 실행을 보장할 수 있는 방법을 보여줍니다. 인벤토리 구축 및 유지 관리를 위한 프로세스가 이미 마련되어 있으면 CodeDeploy 에이전트를 설치 및 실행하는 데 사용할 수 있는 Ansible 모듈도 있습니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| Atlassian – Bamboo 및 Bitbucket |  [Bamboo](https://www.atlassian.com/software/bamboo/)에 대한 CodeDeploy 작업은 AppSpec 파일이 포함된 디렉터리를 .zip 파일로 압축하고 파일을 Amazon S3에 업로드한 다음 CodeDeploy 애플리케이션에서 제공하는 구성에 따라 배포를 시작합니다. CodeDeploy에 대한 Atlassian Bitbucket 지원은 요청 시 Amazon EC2 인스턴스에 대한 코드를 Bitbucket UI에서 배포 그룹으로 직접 푸시할 수 있도록 합니다. 즉, Bitbucket 리포지토리에서 코드를 업데이트한 후에는 배포 프로세스를 수동으로 실행하기 위해 지속적 통합(CI) 플랫폼 또는 Amazon EC2 인스턴스에 로그인할 필요가 없습니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| Chef |  AWS 는 [Chef](https://www.chef.io/)와 CodeDeploy를 통합하기 위한 두 가지 템플릿 샘플을 제공합니다. 첫 번째 샘플 템플릿은 CodeDeploy 에이전트를 설치 및 시작하는 Chef 쿡북입니다. 이 템플릿은 CodeDeploy를 사용하는 동안에도 계속해서 호스트 인프라를 관리할 수 있도록 합니다. 두 번째 샘플 템플릿은 CodeDeploy를 사용하여 각 노드에서 chef-solo로 쿡북 및 레시피 실행을 오케스트레이션하는 방법을 보여줍니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| CircleCI |  [CircleCI](https://circleci.com/)는 자동화된 테스트, 지속적 통합 및 배포 도구 세트를 제공합니다. 에서 CircleCI와 함께 AWS 사용할 IAM 역할을 생성하고 circle.yml 파일에서 배포 파라미터를 구성한 후, CircleCI를 CodeDeploy와 함께 사용하여 애플리케이션 개정을 생성하고 Amazon S3 버킷에 업로드한 다음 배포를 시작하고 모니터링할 수 있습니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| CloudBees |  [CloudBees](https://www.cloudbees.com/) DEV@cloud에서 이용할 수 있는 CodeDeploy Jenkins 플러그인을 구축 후 작업으로 사용할 수 있습니다. 예를 들어, 지속적인 배포 파이프라인 종료 시 이 플러그인을 사용하여 서버 집합에 애플리케이션 개정을 배포할 수 있습니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| Codeship |  [Codeship](https://codeship.com/)을 사용하여 CodeDeploy를 통해 애플리케이션 수정 버전을 배포할 수 있습니다. Codeship UI를 사용하여 브랜치의 배포 파이프라인에 CodeDeploy를 추가할 수 있습니다. 자세히 알아보기:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| GitHub |  CodeDeploy를 사용하여 [GitHub](http://www.github.com) 리포지토리에서 애플리케이션 수정 버전을 배포할 수 있습니다. 또한 GitHub 리포지토리의 소스 코드가 변경될 때마다 해당 리포지토리에서 배포를 트리거할 수도 있습니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **HashiCorp Consul**  |  CodeDeploy에서 애플리케이션을 배포하는 경우 오픈 소스 HashiCorp Consul 도구를 사용하여 애플리케이션 환경의 상태 및 안정성을 보장할 수 있습니다. Consul을 사용하여 배포 중 검색할 수 있도록 애플리케이션을 등록하고, 배포에서 제외하기 위해 애플리케이션 및 노드를 유지 관리 모드로 전환하고, 대상 인스턴스가 비정상 상태가 되면 배포를 중지할 수 있습니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| Jenkins |  CodeDeploy [Jenkins](http://jenkins-ci.org/) 플러그 인은 Jenkins 프로젝트에 구축 후 단계를 제공합니다. 구축에 성공하면 작업 영역을 압축해 Amazon S3로 업로드하고 새 배포를 시작합니다. 자세히 알아보기:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| Puppet Labs |  AWS 는 [Puppet](https://puppetlabs.com/) 및 CodeDeploy용 샘플 템플릿을 제공합니다. 첫 번째 샘플 템플릿은 CodeDeploy 에이전트를 설치 및 시작하는 Puppet 모듈입니다. 이 템플릿은 CodeDeploy를 사용하는 동안에도 Puppet으로 계속해서 호스트 인프라를 관리할 수 있도록 합니다. 두 번째 샘플 템플릿은 CodeDeploy를 사용하여 각 노드에서 마스터 없는 puppet으로 모듈 및 매니페스트 실행을 오케스트레이션하는 방법을 보여줍니다. 자세히 알아보기:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| SaltStack |  [SaltStack](https://saltproject.io/index.html) 인프라를 CodeDeploy와 통합할 수 있습니다. CodeDeploy 모듈을 사용해 미니언에 CodeDeploy 에이전트를 설치 및 실행하거나 단순한 배포 후크 2개와 함께 CodeDeploy를 사용해 Salt States 실행을 오케스트레이션할 수 있습니다. 자세히 알아보기:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **TeamCity**  |  CodeDeploy Runner 플러그 인을 사용하여 TeamCity에서 직접 애플리케이션을 배포할 수 있습니다. 이 플러그 인은 애플리케이션 개정을 준비해 Amazon S3 버킷으로 업로드하는 TeamCity 구축 단계를 추가하고 해당 개정을 CodeDeploy 애플리케이션에 등록하며, CodeDeploy 배포를 만들고 선택한 경우 배포가 완료될 때까지 대기합니다. 자세히 알아보기: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 
| Travis CI |  성공적인 구축 후 CodeDeploy에서 배포를 트리거하도록 [Travis CI](https://travis-ci.com/)를 구성할 수 있습니다. 자세히 알아보기:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [GitHub](integrations-partners-github.md)

# GitHub와 CodeDeploy 통합
<a name="integrations-partners-github"></a>

CodeDeploy는 웹 기반 호스팅 및 공유 서비스인 [GitHub](https://github.com/about)를 지원합니다. CodeDeploy는 GitHub 리포지토리 또는 Amazon S3 버킷에 저장된 애플리케이션 수정 버전을 인스턴스에 배포할 수 있습니다. CodeDeploy는 EC2 및 온프레미스 배포에 대해서만 GitHub를 지원합니다.

**Topics**
+ [GitHub에서 CodeDeploy 수정 버전 배포](#github-deployment-steps)
+ [CodeDeploy를 사용한 GitHub 동작](#github-behaviors)

## GitHub에서 CodeDeploy 수정 버전 배포
<a name="github-deployment-steps"></a>

GitHub 리포지토리에서 인스턴스로 애플리케이션 개정을 배포하려면:

1. 배포할 Amazon EC2 인스턴스 유형 및 CodeDeploy와 호환되는 개정을 만듭니다.

   호환되는 계정을 만들려면 [CodeDeploy의 개정 계획](application-revisions-plan.md) 및 [CodeDeploy에 대한 개정에 애플리케이션 사양 파일 추가](application-revisions-appspec-file.md)의 지침을 따르십시오.

1. GitHub 계정을 사용하여 GitHub 리포지토리에 개정을 추가합니다.

   GitHub 계정을 만들려면 [GitHub 조인](https://github.com/join)을 참조하세요. GitHub 리포지토리를 만들려면 [리포지토리 생성](https://help.github.com/articles/create-a-repo/)을 참조하세요.

1. CodeDeploy 콘솔의 **배포 생성** 페이지 또는 명령을 사용하여 GitHub AWS CLI **create-deployment**리포지토리에서 CodeDeploy 배포에 사용하도록 구성된 대상 인스턴스로 개정을 배포합니다.

   **create-deployment** 명령을 호출하려면 먼저 콘솔의 **배포 생성(Create deployment)** 페이지를 사용하여 지정된 애플리케이션에 대해 해당 GitHub 계정을 대신하여 GitHub와 상호 작용할 권한을 CodeDeploy에 부여해야 합니다. 애플리케이션당 한번만 이 작업을 수행하면 됩니다.

   [**Create deployment**] 페이지를 사용하여 GitHub 리포지토리에서 배포하는 방법에 대한 자세한 내용은 [CodeDeploy에서 배포 만들기](deployments-create.md)을 참조하세요.

   **create-deployment** 명령을 호출하여 GitHub 리포지토리에서 배포하는 방법은 [EC2/온프레미스 컴퓨팅 플랫폼의 배포 생성(CLI)](deployments-create-cli.md) 단원을 참조하세요.

   CodeDeploy 배포용으로 인스턴스를 준비하는 방법은 [CodeDeploy용 인스턴스 작업](instances.md) 섹션을 참조하세요.

자세한 내용은 [튜토리얼: CodeDeploy를 사용하여 GitHub에서 애플리케이션 배포](tutorials-github.md) 단원을 참조하십시오.

## CodeDeploy를 사용한 GitHub 동작
<a name="github-behaviors"></a>

**Topics**
+ [CodeDeploy에서 애플리케이션으로 GitHub 인증](#behaviors-authentication)
+ [프라이빗 및 퍼블릭 GitHub 리포지토리와 CodeDeploy 통합](#behaviors-interactions-private-and-public)
+ [조직에서 관리하는 GitHub 리포지토리와 CodeDeploy 통합](#behaviors-interactions-organization-managed)
+ [CodeDeploy를 사용하여 CodePipeline에서 자동으로 배포](#behaviors-deploy-automatically)

### CodeDeploy에서 애플리케이션으로 GitHub 인증
<a name="behaviors-authentication"></a>

GitHub와의 상호 작용 권한을 CodeDeploy에 부여한 후 GitHub 계정과 애플리케이션 간의 연결은 CodeDeploy에 저장됩니다. 애플리케이션을 다른 GitHub 계정에 연결할 수 있습니다. 또한 CodeDeploy가 GitHub와 상호 작용할 수 있는 권한을 취소할 수도 있습니다.

**CodeDeploy에서 GitHub 계정을 애플리케이션에 연결하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy) CodeDeploy 콘솔을 엽니다.
**참고**  
[CodeDeploy 시작하기](getting-started-codedeploy.md)에서 설정한 사용자와 동일한 사용자로 로그인합니다.

1. 탐색 창에서 **배포(Deploy)**를 확장하고 **애플리케이션(Applications)**을 선택합니다.

1. 다른 GitHub 계정에 연결할 애플리케이션을 선택합니다.

1. 애플리케이션에 배포 그룹이 없는 경우, **배포 그룹 생성(Create deployment group)**을 선택하여 하나를 생성합니다. 자세한 내용은 [CodeDeploy에서 배포 그룹 만들기](deployment-groups-create.md) 단원을 참조하십시오. 다음 단계에서 **배포 만들기**를 선택하려면 배포 그룹이 필요합니다.

1.  **배포**에서 **배포 만들기**를 선택합니다.
**참고**  
새 배포를 만들 필요는 없습니다. 현재로서는 이 방법이 다른 GitHub 계정을 애플리케이션에 연결하는 유일한 방법입니다.

1.  **배포 설정**의 **개정 유형**에서 **애플리케이션을 GitHub에 저장**을 선택합니다.

1. 다음 중 하나를 수행하세요.
   +  AWS CodeDeploy 애플리케이션을 GitHub 계정에 연결하려면 별도의 웹 브라우저 탭에서 GitHub에서 로그아웃합니다. **GitHub 토큰 이름**에 이 연결을 식별하는 이름을 입력한 후 **GitHub에 연결**을 선택합니다. 웹 페이지에 애플리케이션에 대해 GitHub와 상호 작용할 권한을 CodeDeploy에 부여하라는 메시지가 표시됩니다. 계속해서 10단계를 진행합니다.
   + 이미 만든 연결을 사용하려면 **GitHub 토큰 이름**에서 이름을 선택한 후 **GitHub에 연결**을 선택합니다. 계속해서 8단계를 진행합니다.
   + 다른 GitHub 계정에 대한 연결을 만들려면 별도의 웹 브라우저 탭에서 GitHub에서 로그아웃합니다. **GitHub 토큰 이름**에 연결을 식별하는 이름을 입력한 후 **GitHub에 연결**을 선택합니다. 웹 페이지에 애플리케이션에 대해 GitHub와 상호 작용할 권한을 CodeDeploy에 부여하라는 메시지가 표시됩니다. 계속해서 10단계를 진행합니다.

1. GitHub에 아직 로그인하기 전이라면 [**Sign in**] 페이지의 지침을 따라 애플리케이션을 연결하려는 GitHub 계정에 로그인합니다.

1. [**Authorize application**]을 선택합니다. GitHub는 선택한 애플리케이션에 대해 로그인한 GitHub 계정을 대신하여 GitHub와 상호 작용할 수 있는 권한을 CodeDeploy에 부여합니다.

1. 배포를 만들지 않으려면 [**Cancel**]를 선택합니다.

**CodeDeploy가 GitHub와 상호 작용할 수 있는 권한을 취소하려면**

1.  AWS CodeDeploy 권한을 취소하려는 GitHub 계정의 자격 증명을 사용하여 [GitHub](https://github.com/dashboard)에 로그인합니다.

1. GitHub [애플리케이션](https://github.com/settings/applications) 페이지를 열어 권한이 있는 애플리케이션 목록에서 **CodeDeploy**를 찾은 다음 GitHub 절차에 따라 애플리케이션의 권한 부여를 취소합니다.

### 프라이빗 및 퍼블릭 GitHub 리포지토리와 CodeDeploy 통합
<a name="behaviors-interactions-private-and-public"></a>

CodeDeploy는 프라이빗 및 퍼블릭 GitHub 리포지토리에서 애플리케이션 배포를 지원합니다. 사용자 대신 GitHub에 액세스할 수 있도록 CodeDeploy에 권한을 부여하면 CodeDeploy에는 사용자의 GitHub 계정에서 액세스할 수 있는 모든 프라이빗 GitHub 리포지토리에 대한 읽기/쓰기 액세스 권한이 생깁니다. 그러나 CodeDeploy에서는 GitHub 리포지토리 읽기만 할 수 있습니다. 사용자의 프라이빗 GitHub 리포지토리에는 쓸 수 없습니다.

### 조직에서 관리하는 GitHub 리포지토리와 CodeDeploy 통합
<a name="behaviors-interactions-organization-managed"></a>

기본적으로, 사용자 계정의 프라이빗 또는 퍼블릭 리포지토리와 달리 조직에서 관리하는 GitHub 리포지토리는 CodeDeploy를 비롯하여 서드 파티 애플리케이션에 대한 액세스 권한을 부여하지 않습니다. 조직의 타사 애플리케이션 제약 조건이 GitHub에서 활성화되어 있는데 GitHub 리포지토리에서 코드를 배포하려고 하면 배포에 실패합니다. 이 문제는 두 가지 방법으로 해결할 수 있습니다.
+ 조직의 멤버는 조직 소유자에게 CodeDeploy에 대한 액세스를 승인하도록 요청할 수 있습니다. 이러한 액세스 요청 단계는 개별 계정에 대한 CodeDeploy의 액세스 권한이 이미 부여되었는지 여부에 따라 달라집니다.
  + 계정에서 CodeDeploy에 대한 액세스를 승인한 경우 [승인된 애플리케이션에 대한 조직 승인 요청](https://help.github.com/articles/requesting-organization-approval-for-your-authorized-applications/)을 참조하세요.
  + 계정에서 CodeDeploy에 대한 액세스를 아직 승인하지 않은 경우 [서드 파티 애플리케이션에 대한 조직 승인 요청](https://help.github.com/articles/requesting-organization-approval-for-third-party-applications/)을 참조하세요.
+ 조직 소유자는 조직에 대한 모든 타사 애플리케이션 제한을 비활성화할 수 있습니다. 자세한 내용은 [조직에 대한 서드 파티 애플리케이션 제한 비활성화](https://help.github.com/articles/disabling-third-party-application-restrictions-for-your-organization/)를 참조하세요.

자세한 내용은 [서드 파티 애플리케이션 제한 정보](https://help.github.com/articles/about-third-party-application-restrictions/)를 참조하세요.

### CodeDeploy를 사용하여 CodePipeline에서 자동으로 배포
<a name="behaviors-deploy-automatically"></a>

소스 코드가 변경될 때마다 CodePipeline에서 배포를 트리거할 수 있습니다. 자세한 내용은 [CodePipeline](https://aws.amazon.com/codepipeline/)을 참조하세요.