CodeStarSourceConnection 비트버킷 클라우드 GitHub, GitHub 엔터프라이즈 서버, GitLab .com 및 GitLab 자체 관리 작업용 - AWS CodePipeline

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

CodeStarSourceConnection 비트버킷 클라우드 GitHub, GitHub 엔터프라이즈 서버, GitLab .com 및 GitLab 자체 관리 작업용

타사 소스 코드 리포지토리에서 새 커밋이 수행될 때 파이프라인을 시작합니다. 소스 작업은 파이프라인이 수동으로 실행되거나 소스 공급자로부터 Webhook 이벤트가 전송될 경우 코드 변경 사항을 검색합니다.

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

참고

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

연결을 통해 AWS 리소스를 다음과 같은 서드 파티 리포지토리에 연결할 수 있습니다.

  • 비트버킷 클라우드 ( CodePipeline 콘솔의 비트버킷 공급자 옵션 또는 CLI의 Bitbucket 제공자를 통해)

    참고

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

  • 참고

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

  • GitHub 및 GitHub 엔터프라이즈 클라우드 ( CodePipeline 콘솔의 GitHub (버전 2) 공급자 옵션 또는 CLI의 GitHub 제공자를 통해)

    참고

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

  • GitHub 엔터프라이즈 서버 ( CodePipeline 콘솔의 GitHub 엔터프라이즈 서버 제공자 옵션 또는 CLI의 GitHub Enterprise Server 제공자를 통해)

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

    참고

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

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

참고

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

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

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

  • 기본값: 기존의 다른 CodePipeline 소스 액션과 마찬가지로 커밋의 얕은 사본이 포함된 ZIP 파일을 출력할 CodeStarSourceConnection 수 있습니다.

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

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

CodePipeline 연결을 만들 때 타사 계정에 AWS Connector 설치 앱을 추가하라는 메시지가 표시됩니다. 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, 엔터프라이즈 서버 또는 .com에 대한 연결 CodeBuild GitClone 권한을 추가합니다. GitHub GitHub GitLab 전체 복제 옵션을 사용하는 방법을 보여주는 자습서는 자습서: GitHub 파이프라인 소스와 함께 전체 복제 사용을 참조하세요.

DetectChanges

필수 항목 여부: 아니요

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

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

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

입력 아티팩트

  • 아티팩트 수: 0

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

출력 아티팩트

  • 아티팩트 수: 1

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

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

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

      중요

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

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

출력 변수

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

자세한 설명은 Variables 섹션을 참조하세요.

AuthorDate

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

BranchName

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

CommitId

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

CommitMessage

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

ConnectionArn

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

FullRepositoryName

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

작업 선언

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

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 옵션 또는 CLI의 CodestarSourceConnection 작업을 사용하십시오. Bitbucket Cloud 연결 섹션을 참조하십시오.

    • GitHub 엔터프라이즈 클라우드의 경우 GitHub 콘솔의 GitHub제공자 옵션을 사용하거나 CLI의 CodestarSourceConnection 작업을 사용하십시오. GitHub 연결 섹션을 참조하십시오.

    • GitHub 엔터프라이즈 서버의 경우 콘솔의 GitHub 엔터프라이즈 서버 제공자 옵션을 사용하거나 CLI의 CodestarSourceConnection 작업을 사용하십시오. GitHub 엔터프라이즈 서버 연결 섹션을 참조하십시오.

    • GitLab.com의 경우 콘솔의 GitLab제공자 옵션을 사용하거나 CLI에서 GitLab 제공자와 함께 CodestarSourceConnection 조치를 취하십시오. GitLab.com 연결 섹션을 참조하십시오.

  • Bitbucket 소스와 CodeBuild 액션으로 파이프라인을 만드는 시작하기 튜토리얼을 보려면 연결 시작하기를 참조하십시오.

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