풀 요청 생성 - AWS CodeCommit

AWS CodeCommit 는 더 이상 신규 고객이 사용할 수 없습니다. AWS CodeCommit 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

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

풀 요청 생성

풀 요청을 생성하면 변경 내용을 다른 브랜치에 병합하기 전에 다른 사용자가 코드 변경을 보고 검토할 수 있습니다. 먼저 코드 변경을 위한 브랜치를 생성합니다. 이 브랜치를 풀 요청의 소스 브랜치라고도 합니다. 이러한 변경 내용을 리포지토리로 커밋하고 푸시한 후, 해당 브랜치(소스 브랜치)의 내용을 풀 요청이 닫히고 나서 변경 내용을 병합할 브랜치(대상 브랜치)와 비교하는 풀 요청을 생성할 수 있습니다.

AWS CodeCommit 콘솔 또는 AWS CLI를 사용하여 리포지토리에 대한 풀 요청을 생성할 수 있습니다.

풀 요청 생성 (콘솔)

CodeCommit 콘솔을 사용하여 CodeCommit 리포지토리에 풀 요청을 생성할 수 있습니다. 리포지토리가 알림으로 구성된 경우, 구독 사용자는 풀 요청 생성 시 이메일을 받게 됩니다.

  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리포지토리에서, 풀 요청을 생성하려는 리포지토리의 이름을 선택합니다.

  3. 탐색 창에서 풀 요청을 선택합니다.

    작은 정보

    또한 브랜치코드에서 풀 요청을 생성할 수도 있습니다.

  4. 풀 요청 생성을 선택합니다.

    CodeCommit 콘솔의 풀 요청 페이지에서 풀 요청 생성.
  5. 풀 요청 생성소스에서 검토하려는 변경 내용이 포함된 브랜치를 선택합니다.

  6. 대상에서, 풀 요청이 닫힐 때 코드 변경 내용을 병합할 브랜치를 선택합니다.

  7. 비교를 선택합니다. 두 브랜치에 대한 비교가 실행되고 그 차이가 표시됩니다. 풀 요청이 닫힐 때 두 브랜치를 자동으로 병합할지 여부를 결정하기 위한 분석도 수행됩니다.

  8. 비교 세부 정보와 변경 내용을 검토하여, 검토를 요청할 변경 내용 및 커밋이 풀 요청에 포함되었는지 확인합니다. 포함되지 않은 경우 소스 및 대상 브랜치 선택을 조정하고 비교를 다시 선택합니다.

  9. 풀 요청에 대한 비교 결과에 만족하면 제목에 이 검토 항목을 잘 설명하는 간단한 제목을 입력합니다. 이 제목은 리포지토리의 풀 요청 목록에 표시되는 제목입니다.

  10. (선택 사항) 설명에 이 검토 항목에 대한 세부 정보와 검토자에 대한 기타 유용한 정보를 입력합니다.

  11. 생성을 선택합니다.

    풀 요청 생성

풀 요청이 리포지토리의 풀 요청 목록에 나타납니다. 알림을 구성한 경우, Amazon SNS 주제 구독자는 새로 생성된 풀 요청에 대해 알려 주는 이메일을 받습니다.

풀 요청 생성 (AWS CLI)

CodeCommit에서 AWS CLI 명령을 사용하려면 AWS CLI를 설치합니다. 자세한 내용은 명령줄 참조 섹션을 참조하세요.

AWS CLI를 사용하여 CodeCommit 리포지토리에 풀 요청을 생성하려면

  1. 다음을 지정하여 create-pull-request 명령을 실행합니다.

    • 풀 요청의 이름(--title 옵션 사용).

    • 풀 요청의 설명(--description 옵션 사용).

    • create-pull-request 명령의 대상 목록에는 다음이 포함됩니다.

      • 풀 요청을 생성할 CodeCommit 리포지토리의 이름(repositoryName 속성 사용).

      • 소스 브랜치라고도 하는, 검토를 요청할 코드 변경 내용을 포함하는 브랜치의 이름(sourceReference 속성 사용).

      • (선택 사항) 기본 브랜치로 병합하지 않으려는 경우, 대상 브랜치라고도 하는 코드 변경 내용을 병합할 브랜치의 이름(destinationReference 속성 사용).

    • 클라이언트에서 생성된 고유한 멱등성 토큰(--client-request-token 옵션 사용).

    이 예제에서는 jane-branch라는 소스 브랜치를 대상으로 Please review these changes by Tuesday라는 설명을 곁들여, Pronunciation difficulty analyzer라는 풀 요청을 생성합니다. 풀 요청은 MyDemoRepo라는 CodeCommit 리포지토리의 기본 브랜치 main에 병합됩니다.

    aws codecommit create-pull-request --title "Pronunciation difficulty analyzer" --description "Please review these changes by Tuesday" --client-request-token 123Example --targets repositoryName=MyDemoRepo,sourceReference=jane-branch
  2. 이 명령이 제대로 실행되면 다음과 비슷하게 출력됩니다.

    { "pullRequest": { "approvalRules": [ { "approvalRuleContent": "{\"Version\": \"2018-11-08\",\"DestinationReferences\": [\"refs/heads/main\"],\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}", "approvalRuleId": "dd8b17fe-EXAMPLE", "approvalRuleName": "2-approver-rule-for-main", "creationDate": 1571356106.936, "lastModifiedDate": 571356106.936, "lastModifiedUser": "arn:aws:iam::123456789012:user/Mary_Major", "originApprovalRuleTemplate": { "approvalRuleTemplateId": "dd3d22fe-EXAMPLE", "approvalRuleTemplateName": "2-approver-rule-for-main" }, "ruleContentSha256": "4711b576EXAMPLE" } ], "authorArn": "arn:aws:iam::111111111111:user/Jane_Doe", "description": "Please review these changes by Tuesday", "title": "Pronunciation difficulty analyzer", "pullRequestTargets": [ { "destinationCommit": "5d036259EXAMPLE", "destinationReference": "refs/heads/main", "repositoryName": "MyDemoRepo", "sourceCommit": "317f8570EXAMPLE", "sourceReference": "refs/heads/jane-branch", "mergeMetadata": { "isMerged": false } } ], "lastActivityDate": 1508962823.285, "pullRequestId": "42", "clientRequestToken": "123Example", "pullRequestStatus": "OPEN", "creationDate": 1508962823.285 } }