CodeStarSourceConnection Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업 - AWS CodePipeline

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

CodeStarSourceConnection Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업

연결에 대한 소스 작업은 에서 지원합니다 AWS CodeConnections. 를 CodeConnections 사용하면 AWS 리소스와 같은 타사 리포지토리 간의 연결을 생성하고 관리할 수 있습니다 GitHub. 타사 소스 코드 리포지토리에서 새 커밋이 수행될 때 파이프라인을 시작합니다. 소스 작업은 파이프라인이 수동으로 실행되거나 소스 공급자로부터 Webhook 이벤트가 전송될 경우 코드 변경 사항을 검색합니다.

트리거로 파이프라인을 시작할 수 있는 Git 구성을 사용하도록 파이프라인의 작업을 구성할 수 있습니다. 트리거로 필터링하도록 파이프라인 트리거 구성을 구성하려면 의 자세한 내용을 참조하세요코드 푸시 또는 풀 요청에 대한 트리거 필터링.

참고

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

연결은 AWS 리소스를 다음과 같은 타사 리포지토리와 연결할 수 있습니다.

  • Bitbucket Cloud( CodePipeline 콘솔의 Bitbucket 공급자 옵션 또는 의 Bitbucket 공급자를 통해CLI)

    참고

    Bitbucket Cloud 리포지토리에 대한 연결을 생성할 수 있습니다. Bitbucket Server와 같은 설치된 Bitbucket 공급자 유형은 지원되지 않습니다.

  • 참고

    Bitbucket WorkSpace를 사용하는 경우 연결을 만들려면 관리자 액세스 권한이 있어야 합니다.

  • GitHub 및 GitHub Enterprise Cloud( CodePipeline 콘솔의 GitHub (버전 2) 공급자 옵션 또는 의 GitHub 공급자를 통해CLI)

    참고

    리포지토리가 GitHub 조직에 있는 경우 연결을 생성하려면 조직 소유자여야 합니다. 조직 소속이 아닌 리포지토리를 사용하고 있는 경우 리포지토리 소유자여야 합니다.

  • GitHub Enterprise Server( CodePipeline 콘솔의 GitHub Enterprise Server 공급자 옵션 또는 의 GitHub Enterprise Server 공급자를 통해CLI)

  • GitLab.com(콘솔의 GitLab 공급자 옵션 CodePipeline 또는 의 GitLab 공급자를 통해CLI)

    참고

    에서 소유자 역할이 있는 리포지토리에 대한 연결을 생성한 다음 GitLab와 같은 리소스가 있는 리포지토리와 함께 연결을 사용할 수 있습니다 CodePipeline. 그룹 내 리포지토리의 경우 그룹 소유자가 아니어도 됩니다.

  • GitLab (Enterprise Edition 또는 Community Edition)에 대한 자체 관리형 설치( 콘솔의 GitLab 자체 관리형 공급자 옵션 CodePipeline 또는 의 GitLabSelfManaged 공급자를 통해CLI)

참고

각 연결은 해당 공급자에 있는 모든 리포지토리를 지원합니다. 각 공급자 유형에 대해 새 연결만 생성하면 됩니다.

연결을 통해 파이프라인은 타사 공급자의 설치 앱을 통해 소스 변경을 감지할 수 있습니다. 예를 들어 웹후크는 GitHub 이벤트 유형을 구독하는 데 사용되며 조직, 리포지토리 또는 GitHub 앱에 설치할 수 있습니다. 연결은 GitHub 푸시 유형 이벤트를 구독하는 GitHub 앱에 리포지토리 웹후크를 설치합니다.

코드 변경이 감지되면 다음 옵션을 사용하여 코드를 후속 작업에 전달할 수 있습니다.

  • 기본값: 다른 기존 CodePipeline 소스 작업과 마찬가지로 CodeStarSourceConnection는 커밋의 얕은 복사본과 함께 ZIP 파일을 출력할 수 있습니다.

  • 전체 복제본: 후속 작업에 대한 URL 참조를 리포지토리에 출력하도록 구성할 수도 CodeStarSourceConnection 있습니다.

    현재 Git URL 참조는 다운스트림 CodeBuild 작업에서만 리포지토리 및 관련 Git 메타데이터를 복제하는 데 사용할 수 있습니다. Git URL 참조를 CodeBuild 작업이 아닌 에 전달하려고 하면 오류가 발생합니다.

CodePipeline 는 연결을 생성할 때 타사 계정에 AWS 커넥터 설치 앱을 추가하라는 메시지를 표시합니다. CodeStarSourceConnection 작업을 통해 연결하려면 먼저 타사 공급자 계정 및 리포지토리를 생성해야 합니다.

참고

AWS CodeStar 연결을 사용하는 데 필요한 권한을 가진 역할에 정책을 생성하거나 연결하려면 연결 권한 참조를 참조하세요. CodePipeline 서비스 역할이 생성된 시기에 따라 AWS CodeStar 연결을 지원하도록 권한을 업데이트해야 할 수 있습니다. 지침은 CodePipeline 서비스 역할에 권한 추가 단원을 참조하십시오.

참고

유럽(밀라노)에서 연결을 사용하려면 다음을 AWS 리전수행해야 합니다.

  1. 리전별 앱 설치

  2. 리전 활성화

이 리전별 앱은 유럽(밀라노) 리전 내 연결을 지원합니다. 서드 파티 제공업체 사이트에 게시되며 다른 리전의 연결을 지원하는 기존 앱과는 별개입니다. 이 앱을 설치하면 서드 파티 제공업체가 이 리전에서만 서비스와 데이터를 공유할 수 있는 권한을 부여하게 되며 앱을 제거하여 언제든지 권한을 취소할 수 있습니다.

리전을 활성화하지 않으면 서비스에서 데이터를 처리하거나 저장하지 않습니다. 이 리전을 활성화하면 데이터를 처리하고 저장할 수 있는 권한이 서비스에 부여됩니다.

리전이 활성화되지 않았더라도 리전별 앱이 설치된 상태로 유지되면 서드 파티 제공업체가 서비스와 데이터를 공유할 수 있으므로 리전을 비활성화한 후에는 앱을 제거해야 합니다. 자세한 내용은 리전 활성화를 참조하세요.

작업 유형

  • 범주: Source

  • 소유자: AWS

  • 공급자: CodeStarSourceConnection

  • 버전: 1

구성 파라미터

ConnectionArn

필수 여부: 예

소스 공급자에 대해 구성되고 인증된 연결ARN입니다.

FullRepositoryId

필수 여부: 예

소스 변경 사항을 감지할 리포지토리의 소유자 및 이름입니다.

예시: some-user/my-repo

중요

FullRepositoryId 값에 대해 올바른 사례를 유지해야 합니다. 예를 들어 사용자 이름이 some-user이고 리포지토리 이름이 인 경우 My-Repo의 권장 값은 FullRepositoryId입니다some-user/My-Repo.

BranchName

필수 여부: 예

소스 변경 사항을 감지할 분기의 이름입니다.

OutputArtifactFormat

필수 여부: 아니요

출력 아티팩트 형식을 지정합니다. CODEBUILD_CLONE_REF 또는 CODE_ZIP입니다. 미지정된 경우 기본값은 CODE_ZIP입니다.

중요

CODEBUILD_CLONE_REF 옵션은 다운스트림 작업에서만 사용할 CodeBuild 수 있습니다.

이 옵션을 선택하면 에 표시된 대로 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다Bitbucket, GitHub, GitHub Enterprise Server 또는 GitLab.com에 대한 연결 CodeBuild GitClone 권한 추가. 전체 복제 옵션을 사용하는 방법을 보여주는 자습서는 자습서: GitHub 파이프라인 소스와 함께 전체 복제본 사용을 참조하세요.

DetectChanges

필수 여부: 아니요

구성된 리포지토리 및 브랜치에서 새 커밋이 이루어지면 파이프라인이 자동으로 시작되도록 제어합니다. 지정되지 않은 경우 기본값은 true이며 필드는 기본적으로 표시되지 않습니다. 이 파라미터에 유효한 값은 다음과 같습니다.

  • true:새 커밋에서 파이프라인을 CodePipeline 자동으로 시작합니다.

  • false:새 커밋에서 파이프라인을 시작하지 CodePipeline 않습니다.

입력 아티팩트

  • 아티팩트 수: 0

  • 설명: 이 작업 유형에는 입력 아티팩트가 적용되지 않습니다.

출력 아티팩트

  • 아티팩트 수: 1

  • 설명: 리포지토리에서 생성된 아티팩트는 CodeStarSourceConnection 작업에 대한 출력 아티팩트입니다. 소스 코드 커밋 ID는 트리거된 파이프라인 실행을 위한 소스 개정 CodePipeline 으로 에 표시됩니다. 이 작업의 출력 아티팩트는 다음 파일에서 구성할 수 있습니다.

    • 파이프라인 실행을 위한 소스 개정으로 지정된 커밋에서 구성된 리포지토리 및 브랜치의 내용을 포함하는 ZIP 파일입니다.

    • 다운스트림 작업이 Git 명령을 직접 수행할 수 있도록 리포지토리에 대한 URL 참조가 포함된 JSON 파일입니다.

      중요

      이 옵션은 CodeBuild 다운스트림 작업에서만 사용할 수 있습니다.

      이 옵션을 선택하면 에 표시된 대로 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트해야 합니다문제 해결 CodePipeline. 전체 복제 옵션을 사용하는 방법을 보여주는 자습서는 자습서: GitHub 파이프라인 소스와 함께 전체 복제본 사용을 참조하세요.

출력 변수

이 작업을 구성하면 파이프라인에서 다운스트림 작업의 작업 구성에서 참조할 수 있는 변수가 생성됩니다. 이 작업은 작업에 네임스페이스가 없는 경우에도 출력 변수로 볼 수 있는 변수를 생성합니다. 이러한 변수를 다운스트림 작업 구성에서 사용할 수 있도록 네임스페이스를 사용하여 작업을 구성합니다.

자세한 내용은 변수 참조 단원을 참조하십시오.

AuthorDate

커밋이 작성된 날짜입니다(타임스탬프 형식).

BranchName

소스 변경이 이루어진 리포지토리의 분기 이름입니다.

CommitId

파이프라인 실행을 트리거한 커밋 ID입니다.

CommitMessage

파이프라인 실행을 트리거한 커밋과 연관된 설명 메시지입니다(존재하는 경우).

ConnectionArn

소스 공급자에 대해 구성되고 인증된 연결ARN입니다.

FullRepositoryName

파이프라인을 트리거한 커밋이 만들어진 리포지토리의 이름입니다.

작업 선언

다음 예제에서는 와의 연결에 CODE_ZIP 대한 출력 아티팩트가 ARN 의 기본 ZIP 형식으로 설정됩니다arn:aws:codestar-connections:region:account-id:connection/connection-id.

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: AWS Category: Source Provider: CodeStarSourceConnection OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: ConnectionArn: "arn:aws:codestar-connections:region:account-id:connection/connection-id" FullRepositoryId: "some-user/my-repo" BranchName: "main" OutputArtifactFormat: "CODE_ZIP" Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "AWS", "Category": "Source", "Provider": "CodeStarSourceConnection" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "ConnectionArn": "arn:aws:codestar-connections:region:account-id:connection/connection-id", "FullRepositoryId": "some-user/my-repo", "BranchName": "main", "OutputArtifactFormat": "CODE_ZIP" }, "Name": "ApplicationSource" } ] },

설치 앱 설치 및 연결 생성

콘솔을 처음 사용하여 타사 리포지토리에 새 연결을 추가할 때 리포지토리에 대한 CodePipeline 액세스를 승인해야 합니다. 타사 코드 리포지토리를 만든 계정에 연결하는 데 도움이 되는 설치 앱을 선택하거나 생성합니다.

AWS CLI 또는 AWS CloudFormation 템플릿을 사용하는 경우 이미 설치 핸드셰이크를 통과한 연결ARN의 연결을 제공해야 합니다. 그러지 않으면 파이프라인이 트리거되지 않습니다.

참고

CodeStarSourceConnection 소스 작업의 경우 webhook를 설정하거나 기본값을 폴링으로 설정할 필요가 없습니다. 연결 작업은 소스 변경 감지를 관리합니다.

이 작업을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.

  • AWS::CodeStarConnections::Connection – AWS CodeStar Connections 리소스에 대한 AWS CloudFormation 템플릿 참조는 AWS CloudFormation 템플릿의 연결에 대한 파라미터와 예제를 제공합니다.

  • AWS CodeStar 연결 API 참조 - AWS CodeStar 연결 API 참조는 사용 가능한 연결 작업에 대한 참조 정보를 제공합니다.

  • 연결에서 지원되는 소스 작업으로 파이프라인을 생성하는 단계를 보려면 다음을 참조하세요.

    • Bitbucket Cloud의 경우 콘솔의 Bitbucket 옵션 또는 의 CodestarSourceConnection 작업을 사용합니다CLI. Bitbucket Cloud 연결을 참조하세요.

    • GitHub 및 GitHub Enterprise Cloud의 경우 콘솔의 GitHub 공급자 옵션 또는 의 CodestarSourceConnection 작업을 사용합니다CLI. GitHub 연결을 참조하세요.

    • GitHub 엔터프라이즈 서버의 경우 콘솔의 GitHub 엔터프라이즈 서버 공급자 옵션 또는 의 CodestarSourceConnection 작업을 사용합니다CLI. GitHub 엔터프라이즈 서버 연결을 참조하세요.

    • GitLab.com의 경우 콘솔의 GitLab 공급자 옵션 또는 의 GitLab 공급자와 함께 CodestarSourceConnection 작업을 사용합니다CLI. GitLab.com 연결을 참조하세요.

  • Bitbucket 소스와 CodeBuild 작업을 사용하여 파이프라인을 생성하는 시작하기 자습서를 보려면 연결 시작하기를 참조하세요.

  • GitHub 리포지토리에 연결하고 다운스트림 CodeBuild 작업에서 전체 복제 옵션을 사용하는 방법을 보여주는 자습서는 섹션을 참조하세요자습서: GitHub 파이프라인 소스와 함께 전체 복제본 사용.