GitHub 엔터프라이즈 서버 연결 - AWS CodePipeline

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

GitHub 엔터프라이즈 서버 연결

연결을 통해 타사 공급자를 AWS 리소스와 연결하는 구성을 승인하고 설정할 수 있습니다. 타사 리포지토리를 파이프라인의 소스로 연결하려면 연결을 사용합니다.

참고

아시아 태평양 (홍콩), 아시아 태평양 (하이데라바드), 아시아 태평양 (자카르타), 아시아 태평양 (멜버른), 아시아 태평양 (오사카), 아프리카 (케이프타운), 중동 (UAE), 유럽 (스페인), 유럽 (취리히), 이스라엘 (텔아비브) 또는 AWS GovCloud (미국 서부) 지역에서는 이 기능을 사용할 수 없습니다. 사용 가능한 다른 작업을 참조하려면 제품 및 서비스 통합 CodePipeline을 참조하세요. 유럽(밀라노) 리전에서 이 조치를 고려할 경우 CodeStarSourceConnection 비트버킷 클라우드 GitHub, GitHub 엔터프라이즈 서버, GitLab .com 및 GitLab 자체 관리 작업용의 참고 사항을 참조하세요.

에서 GitHub CodePipeline 엔터프라이즈 서버 소스 액션을 추가하려면 다음 중 하나를 선택할 수 있습니다.

참고

설정의 개발자 도구 콘솔을 사용하여 연결을 생성할 수도 있습니다. 연결 생성을 참조하세요.

시작하기 전:

  • 엔터프라이즈 서버 계정을 생성하고 인프라에 GitHub GitHub 엔터프라이즈 서버 인스턴스를 설치해야 합니다.

    참고

    각 VPC는 한 번에 하나의 호스트 (GitHub 엔터프라이즈 서버 인스턴스) 와만 연결할 수 있습니다.

  • GitHub 엔터프라이즈 서버로 코드 리포지토리를 이미 생성했어야 합니다.

GitHub 엔터프라이즈 서버 연결 생성 (콘솔)

다음 단계를 사용하여 CodePipeline 콘솔을 사용하여 GitHub Enterprise Server 저장소에 대한 연결 작업을 추가할 수 있습니다.

참고

GitHub 엔터프라이즈 서버 연결은 연결을 만드는 데 사용된 GitHub 엔터프라이즈 서버 계정이 소유한 리포지토리에만 액세스할 수 있습니다.

시작하기 전:

GitHub Enterprise Server에 호스트를 연결하려면 연결에 사용할 호스트 리소스를 만드는 단계를 완료해야 합니다. 연결을 위한 호스트 관리를 참조하세요.

1단계: 파이프라인 생성 또는 편집

파이프라인을 생성 또는 편집하려면
  1. CodePipeline 콘솔에 로그인합니다.

  2. 다음 중 하나를 선택합니다.

    • 파이프라인을 생성하려면 선택합니다. 파이프라인 생성의 단계에 따라 첫 화면을 완료하고 다음을 선택합니다. 소스 페이지의 소스 제공자에서 GitHub Enterprise Server를 선택합니다.

    • 기존 파이프라인을 편집하려면 선택합니다. 편집을 선택하고 단계 편집을 선택합니다. 소스 작업을 추가 또는 편집하려면 선택합니다. 작업 편집 페이지의 작업 이름에 작업 이름을 입력합니다. 작업 제공자에서 GitHub 엔터프라이즈 서버를 선택합니다.

  3. 다음 중 하나를 수행하십시오.

    • 연결에서 제공자에 대한 연결을 아직 생성하지 않은 경우 GitHub Enterprise Server에 연결을 선택합니다. 2단계: GitHub 엔터프라이즈 서버 연결 생성으로 진행하십시오.

    • 연결에서 공급자와의 연결을 이미 생성한 경우 연결을 선택합니다. 3단계: 연결에 대한 소스 작업 저장으로 이동합니다.

GitHub엔터프라이즈 서버에 대한 연결 생성

연결을 생성하도록 선택하면 GitHubEnterprise Server에 연결 페이지가 표시됩니다.

중요

AWS CodeConnections 릴리스의 알려진 문제로 인해 GitHub 엔터프라이즈 서버 버전 2.22.0을 지원하지 않습니다. 연결하려면 버전 2.22.1 또는 사용 가능한 최신 버전으로 업그레이드하세요.

엔터프라이즈 서버에 연결하려면 GitHub
  1. [연결 이름(Connection name)]에 연결 이름을 입력합니다.

  2. [URL]에 서버의 엔드포인트를 입력합니다.

    참고

    제공된 URL을 이미 사용하여 GitHub Enterprise Server 연결을 설정한 경우 해당 엔드포인트에 대해 이전에 생성한 호스트 리소스 ARN을 선택하라는 메시지가 표시됩니다.

  3. Amazon VPC로 서버를 시작한 후 VPC에 연결하려는 경우 [VPC 사용(Use a VPC)]을 선택하고 다음을 완료합니다.

    1. [VPC ID]에서 VPC ID를 선택합니다. GitHub 엔터프라이즈 서버 인스턴스가 설치된 인프라용 VPC 또는 VPN 또는 Direct Connect를 통해 GitHub 엔터프라이즈 서버 인스턴스에 액세스할 수 있는 VPC를 선택해야 합니다.

    2. [서브넷 ID(Subnet ID)]를 선택하고 [추가(Add)]를 선택합니다. 해당 필드에서 호스트에 사용할 서브넷 ID를 선택합니다. 서브넷은 최대 10개까지 선택할 수 있습니다.

      GitHub Enterprise Server 인스턴스가 설치된 인프라의 서브넷을 선택하거나 VPN 또는 Direct Connect를 통해 설치된 GitHub Enterprise Server 인스턴스에 액세스할 수 있는 서브넷을 선택해야 합니다.

    3. [보안 그룹 ID(Security group IDs)]에서 [추가(Add)]를 선택합니다. 해당 필드에서 호스트에 사용할 보안 그룹을 선택합니다. 보안 그룹은 최대 10개까지 선택할 수 있습니다.

      GitHub Enterprise Server 인스턴스가 설치된 인프라의 보안 그룹을 선택하거나 VPN 또는 Direct Connect를 통해 설치된 GitHub Enterprise Server 인스턴스에 액세스할 수 있는 보안 그룹을 선택해야 합니다.

    4. 프라이빗 VPC를 구성하고 비공개 인증 기관을 사용하여 TLS 검증을 수행하도록 GitHub Enterprise Server 인스턴스를 구성한 경우 TLS 인증서에 인증서 ID를 입력합니다. TLS 인증서 값은 인증서의 퍼블릭 키여야 합니다.

      VPC 옵션에 대한 GitHub 엔터프라이즈 서버 연결 생성 페이지를 보여 주는 콘솔 스크린샷.
  4. [ GitHub 엔터프라이즈 서버에 연결] 을 선택합니다. 생성된 연결은 [대기 중(Pending)] 상태로 표시됩니다. 사용자가 제공한 서버 정보를 사용하여 연결을 위한 호스트 리소스가 생성됩니다. 호스트 이름으로 URL이 사용됩니다.

  5. [보류 중인 연결을 업데이트(Update pending connection)]를 선택합니다.

  6. 메시지가 표시되면 GitHub 엔터프라이즈 로그인 페이지에서 GitHub 엔터프라이즈 자격 증명으로 로그인합니다.

  7. GitHub 앱 만들기 페이지에서 앱 이름을 선택합니다.

  8. GitHub <app-name>인증 페이지에서 Authorize (권한 부여) 를 선택합니다.

  9. 앱 설치 페이지에서 커넥터 앱을 설치할 준비가 되었다는 메시지가 표시됩니다. 여러 조직이 있는 경우 앱을 설치할 조직을 선택하라는 메시지가 표시될 수 있습니다.

    앱을 설치할 리포지토리 설정을 선택합니다. 설치를 선택합니다.

  10. 연결 페이지에 생성된 연결이 [사용 가능(Available)] 상태로 표시됩니다.

3단계: GitHub 엔터프라이즈 서버 소스 액션 저장

마법사 또는 작업 편집 페이지에서 다음 단계를 사용하여 소스 작업을 연결 정보와 함께 저장합니다.

연결을 통해 소스 작업을 완료하고 저장하려면
  1. 리포지토리 이름에서 타사 리포지토리의 이름을 선택합니다.

  2. 작업이 작업인 경우 파이프라인 트리거에서 트리거를 추가할 수 있습니다. CodeConnections 파이프라인 트리거 구성을 구성하고 선택적으로 트리거로 필터링하려면 에서 자세한 내용을 참조하십시오. 코드 푸시 또는 풀 요청 시 트리거 필터링

  3. Output artifact format(출력 아티팩트 형식)에서 아티팩트의 형식을 선택해야 합니다.

    • GitHub Enterprise Server 작업의 출력 아티팩트를 기본 방법을 사용하여 저장하려면 기본값을 선택합니다CodePipeline. 작업은 GitHub Enterprise Server 리포지토리의 파일에 액세스하고 파이프라인 객체 저장소의 ZIP 파일에 객체를 저장합니다.

    • 다운스트림 작업이 Git 명령을 직접 수행할 수 있도록 리포지토리에 대한 URL 참조가 포함된 JSON 파일을 저장하려면 Full clone(전체 복제)을 선택합니다. 이 옵션은 다운스트림 작업에서만 사용할 수 CodeBuild 있습니다.

  4. 마법사에서 다음을 선택하거나 작업 편집 페이지에서 저장을 선택합니다.

호스트 생성 및 GitHub 엔터프라이즈 서버 (CLI) 연결

AWS Command Line Interface (AWS CLI) 를 사용하여 연결을 생성할 수 있습니다.

이렇게 하려면 create-connection 명령을 사용합니다.

중요

OR를 통해 생성된 AWS CloudFormation 연결은 기본적으로 PENDING 상태입니다. AWS CLI CLI를 사용하여 연결을 생성한 후 콘솔을 사용하여 연결을 편집하여 상태를 설정합니다. AWS CloudFormationAVAILABLE

AWS Command Line Interface (AWS CLI) 를 사용하여 설치된 연결을 위한 호스트를 생성할 수 있습니다.

참고

GitHub 엔터프라이즈 서버 계정당 한 번만 호스트를 생성할 수 있습니다. 특정 GitHub 엔터프라이즈 서버 계정에 대한 모든 연결은 동일한 호스트를 사용합니다.

호스트를 사용하여 서드 파티 공급자가 설치된 인프라의 엔드포인트를 나타냅니다. CLI를 사용하여 호스트 생성을 완료하면 호스트가 보류 중 상태입니다. 그러면 호스트를 설정 또는 등록하여 사용 가능 상태로 전환합니다. 호스트를 사용할 수 있게 되면 연결을 생성하는 단계를 완료합니다.

이렇게 하려면 create-host 명령을 사용합니다.

중요

를 통해 생성된 AWS CLI 호스트는 기본적으로 Pending 상태입니다. CLI를 사용하여 호스트를 생성한 후 콘솔 또는 CLI를 통해 호스트를 설정하여 호스트를 상태를 Available로 전환합니다.

호스트를 생성하려면
  1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결에 --name--provider-type, 및 --provider-endpoint 를 지정하여 create-host 명령을 실행합니다. 이 예제에서 서드 파티 공급자 이름은 GitHubEnterpriseServer이고 엔드포인트는 my-instance.dev입니다.

    aws codestar-connections create-host --name MyHost --provider-type GitHubEnterpriseServer --provider-endpoint "https://my-instance.dev"

    이 명령이 제대로 실행되면 다음과 비슷한 호스트 Amazon 리소스 이름(ARN) 정보가 반환됩니다.

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    이 단계가 끝나면 호스트는 PENDING 상태입니다.

  2. 콘솔을 사용하여 호스트 설정을 완료하고 호스트를 Available 상태로 전환합니다.

GitHub 엔터프라이즈 서버에 연결하려면
  1. 터미널(Linux, macOS, Unix) 또는 명령 프롬프트(Windows)를 엽니다. AWS CLI 를 사용하여 연결을 --connection-name 위한 --host-arn 및 을 지정하여 create-connection 명령을 실행합니다.

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection

    이 명령이 제대로 실행되면 다음과 비슷한 연결 ARN 정보가 반환됩니다.

    { "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad" }
  2. 콘솔을 사용하여 보류 중인 연결을 설정합니다.

  3. 파이프라인은 기본적으로 연결 소스 리포지토리로 코드를 푸시할 때 변경 사항을 감지합니다. 수동 릴리스 또는 Git 태그에 대한 파이프라인 트리거 구성을 구성하려면 다음 중 하나를 수행합니다.

    • 수동 릴리스로만 시작하도록 파이프라인 트리거 구성을 구성하려면 구성에 다음 줄을 추가하세요.

      "DetectChanges": "false",
    • 트리거로 필터링하도록 파이프라인 트리거 구성을 구성하려면 에서 코드 푸시 또는 풀 요청 시 트리거 필터링 자세한 내용을 참조하십시오. 예를 들어 다음은 파이프라인 JSON 정의의 파이프라인 수준에 추가됩니다. 이 예제에서, release-v0release-v1은 포함할 Git 태그이고 release-v2는 제외할 Git 태그입니다.

      "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]