Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

병합 큐 관리

리포지토리에서 끌어오기 요청에 대한 병합 큐를 사용하여 개발 속도를 높일 수 있습니다.

이 기능을 사용할 수 있는 사용자

People with admin permissions can manage merge queues for pull requests targeting selected branches of a repository.

끌어오기 요청 병합 큐는 조직이 소유한 모든 퍼블릭 리포지토리 또는 GitHub Enterprise Cloud를 사용하는 조직이 소유한 프라이빗 리포지토리에서 사용할 수 있습니다. 자세한 내용은 "AUTOTITLE"을 참조하세요.

참고: 끌어오기 요청 병합 큐 기능은 현재 퍼블릭 베타 버전이며 변경될 수 있습니다.

병합 큐 정보

병합 큐는 모든 필수 분기 보호 검사에 통과하도록 하면서 끌어오기 요청이 사용 중인 대상 분기에 병합되는 속도를 높일 수 있습니다.

끌어오기 요청이 필요한 모든 분기 보호 검사를 통과한 후 리포지토리에 대한 쓰기 액세스 권한이 있는 사용자가 해당 끌어오기 요청을 병합 큐에 추가할 수 있습니다.

병합 큐는 GitHub Actions를 사용할 수 있습니다. 자세한 내용은 "GitHub Actions 설명서"을 참조하세요.

병합 큐는 특수 접두사가 있는 임시 분기를 만들어 끌어오기 요청 변경 내용의 유효성을 검사합니다. 그런 다음 끌어오기 요청의 변경 내용이 최신 버전의 base_branch 및 큐에서 앞에 있는 변경 내용과 함께 merge_group으로 그룹화됩니다. GitHub Enterprise Cloud는 base_branch의 분기 보호에 필요한 검사에 통과한 후 모든 변경 내용을 base_branch에 병합합니다.

병합 메서드에 대한 자세한 내용은 "끌어오기 요청 병합 정보.

참고:

  • 분기 이름 패턴에 와일드카드 문자(*)를 사용하는 분기 보호 규칙으로 병합 큐를 사용하도록 설정할 수는 없습니다.
  • 병합 큐는 병합을 진행하기 전에 필요한 검사가 보고될 때까지 기다립니다. 병합 큐가 필요한 경우 병합 그룹 이벤트를 트리거하고 보고하도록 CI 구성을 업데이트해야 합니다.

대상 분기의 최신 버전 및 그 전에 발생한 변경으로 끌어오기 요청을 그룹화하고 큐에서 변경한 후 필수 상태 검사에 실패하거나 기본 분기와 충돌하는 경우 GitHub Enterprise Cloud는 큐에서 끌어오기 요청을 제거합니다. 끌어오기 요청 타임라인은 끌어오기 요청이 큐에서 제거된 이유를 표시합니다.

GitHub Actions으로 병합 그룹 검사 트리거

끌어오기 요청이 병합 그룹에 추가되면 merge_group 이벤트를 사용하여 GitHub Actions 워크플로를 트리거할 수 있습니다. 이 이벤트는 pull_requestpush 이벤트와는 다른 이벤트입니다.

참고: 리포지토리에서 GitHub Actions을(를) 사용하여 리포지토리의 끌어오기 요청에 대해 필요한 검사를 수행하는 경우 이벤트를 추가 트리거로 포함 merge_group 하도록 워크플로를 업데이트해야 합니다. 그렇지 않으면 병합 큐에 끌어오기 요청을 추가할 때 상태 확인 트리거되지 않습니다. 상태 확인 필요 보고되지 않으므로 병합이 실패합니다.

대상 분기의 보호에 필요한 검사를 보고하는 워크플로는 다음과 같습니다.

on:
  pull_request:
  merge_group:

자세한 내용은 "워크플로를 트리거하는 이벤트"을 참조하세요.

다른 CI 공급자를 사용하여 병합 그룹 검사 트리거

다른 CI 공급자를 사용하면 특수 접두사 gh-readonly-queue/{base_branch}로 시작하는 분기가 만들어질 때 실행되도록 CI 구성을 업데이트해야 할 수 있습니다.

병합 큐 관리

리포지토리 관리자는 베이스 분기 대한 보호 규칙에서 분기 보호 설정 "병합 큐 필요"를 사용하도록 설정하여 병합 큐를 요구할 수 있습니다. 자세한 내용은 "분기 보호 규칙 관리"을 참조하세요.

"병합 큐 필요"를 사용하도록 설정하면 다음 설정에 액세스할 수도 있습니다.

  • Merge 메서드: 큐에 대기 중인 끌어오기 요청을 병합할 때 사용할 메서드(병합, 다시 작성 또는 스쿼시)를 선택합니다.

  • 빌드 동시성: 빌드할 최대 끌어오기 요청 수를 선택합니다(1에서 100 사이). 이 설정은 CI 검사를 동시에 실행할 수 있는 큐에 대기 중인 끌어오기 요청 수를 제한합니다.

  • 병합 제한: 단일 그룹에서 병합할 끌어오기 요청의 최소 및 최대 수(1~100개)를 선택하고, 큐가 더 많은 항목을 기다리는 것을 중지하고 최소 끌어오기 요청 수보다 적은 수로 병합해야 하는 시간 제한을 선택합니다.

  • 실패하지 않는 끌어오기 요청만 병합: 이 설정은 병합 큐가 병합할 끌어오기 요청 그룹을 구성하는 방법을 결정합니다.

    선택한 경우 필요한 CI 검사를 전달하는 끌어오기 요청만 그룹에 추가할 수 있습니다. 이는 모든 커밋이 양수 상태인 기록을 유지 관리하거나 다른 끌어오기 요청에 대해 다른 검사 집합을 실행하는 경우에 유용할 수 있습니다.

    선택 취소된 경우 그룹의 마지막 끌어오기 요청이 필요한 검사를 통과한 한 필요한 검사에 실패한 끌어오기 요청을 그룹에 추가할 수 있습니다. 그룹의 마지막 끌어오기 요청이 필요한 검사를 통과한 경우 병합 그룹의 결합된 변경 내용 집합에 대한 검사가 통과되었음을 의미합니다. 이 확인란을 선택하지 않은 상태로 두는 것은 간헐적인 테스트 오류가 있지만 가음성으로 큐를 유지하지 않으려는 경우에 유용할 수 있습니다.

  • 상태 검사 시간 제한: 확인이 실패했다고 가정하기 전에 큐에서 CI의 응답을 기다려야 하는 기간을 선택합니다.

추가 참고 자료