Skip to main content

이 버전의 GitHub Enterprise Server는 다음 날짜에 중단됩니다. 2026-03-17. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

사전 수신 후크 정보

          *사전 수신 후크*는 품질 검사를 구현하는 데 사용할 수 있는 GitHub Enterprise Server 어플라이언스에서 실행되는 스크립트입니다.

사전 수신 후크 정보

푸시가 발생하면 각 스크립트는 격리된 환경에서 실행되며 푸시 콘텐츠에 대한 검사를 수행할 수 있습니다. 스크립트는 종료 상태가 0인 경우 푸시를 수락하거나 종료 상태가 0이 아닌 경우 거부됩니다.

사전 수신 후크를 사용하여 비즈니스 규칙을 충족하고 규정 준수를 적용하여 특정한 일반적인 실수를 방지합니다.

사전 수신 후크를 사용하는 방법의 예:

  • 유효한 티켓 번호를 포함하거나 특정 길이를 초과할 때와 같이 특정 패턴이나 형식을 따르려면 커밋 메시지가 필요합니다.
  • 모든 푸시를 거부하여 분기 또는 리포지토리를 잠급니다.
  • 키워드, 패턴 또는 파일 형식을 차단하여 중요한 데이터가 리포지토리에 추가되지 않도록 방지합니다.
  • PR 작성자가 자신의 변경 내용을 병합하지 못하도록 합니다.

github/platform-samples 리포지토리에서 GitHub Enterprise Server에 대한 사전 수신 후크의 예를 볼 수 있습니다.

성능 및 워크플로에 미치는 영향

개발자와 그들의 워크플로에 미치는 영향은 중요할 수 있으며 신중하게 고려해야 합니다. 비즈니스 요구 사항을 기반으로 하여 신중하게 구현된 사전 수신 후크는 조직 전체에 매우 큰 혜택을 제공합니다.

사전 수신 후크는 의 성능에 의도하지 않은 영향을 줄 수 있으므로 신중하게 구현하고 검토해야 합니다.

인스턴스의 모든 사용자에게 오류 및 성능에 영향을 줄 위험이 있으므로 다음을 권장합니다.

  • 사전 수신 후크 내에서 API 요청을 방지합니다. 특히, 외부 서비스에 대한 요청은 시간이 오래 걸리고 성능에 영향을 줄 수 있으므로 이를 강력히 권장하지 않습니다.
  • 사전 수신 후크 내에서 장기간 실행되는 Git 작업을 방지합니다. 사전 수신 후크가 크거나 사용 중인 리포지토리 내에서 Git 작업을 수행하는 경우 인스턴스의 Git 및 전반적인 성능에 부정적인 영향을 줄 수 있습니다.

참고 항목

시간 제한으로 인해 푸시가 거부되는 것을 방지하려면 결합된 모든 사전 수신 후크를 5초 안에 실행해야 합니다.

사전 수신 후크 시간 제한

GitHub Enterprise Server의 사전 수신 후크에는 고정된 시간 제한 예산이 5초입니다(모든 후크에서 공유됨). 이는 장기 실행 후크에서 리소스 소모를 방지하고 런어웨이 스크립트가 리포지토리 작업을 무기한 차단하지 못하도록 하기 위한 의도적인 디자인입니다.

리포지토리에 대한 모든 사전 수신 후크는 누적 시간 제한 예산을 공유합니다.

  • 후크 A에 3초가 걸리면 후크 B는 2초 남게 됩니다(기본값 5초에서).
  • 후크 A가 5초에 시간 초과되면 후크 B는 실행되지 않습니다.
          **종료 코드**: 적용 구성이 적용됩니다(강제 적용되지 않은 후크는 푸시를 차단하지 않음).
          **시간 제한**: 적용 구성에 관계없이 푸시가 실패할 수 있습니다.

시간 제한 동작

Scenario적용 = 활성화강제 적용 = 비활성화/테스트
종료 코드 ≠ 0푸시 거부됨푸시 계속(경고만 해당)
시간 제한을 초과했습니다.푸시 거부됨경고 + 푸시가 여전히 실패할 수 있음