Skip to main content

사전 수신 후크 정보

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

사전 수신 후크 정보

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

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

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

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

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

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

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

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

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

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

참고 항목

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

푸시 규칙과 사전 수신 후크 중에서 선택

푸시 규칙 및 사전 수신 후크를 사용하여 사용자가 리포지토리에 푸시할 수 있는 변경 내용을 제어할 수 있습니다. 둘 다 정책을 적용하는 데 도움이 되지만 서로 다른 방식으로 작동하며 다양한 사용 사례를 위해 설계되었습니다.

푸시 규칙은 리포지토리 전체에서 공통 정책을 시행하는 기본 제공 방법입니다. 이를 사용하여 특정 파일 및 경로, 파일 크기 또는 파일 유형에 대한 업데이트와 같은 특정 조건을 충족하지 않는 푸시를 차단할 수 있습니다. UI 또는 API를 통해 푸시 규칙을 관리할 수 있습니다. 푸시 규칙은 리포지토리 규칙 집합의 유형이므로 감사 로그를 지원하며, 평가 모드와 함께 사용하여 변경 내용을 미리 보거나 필요할 때 바이패스할 수 있습니다.

다음을 쉽게 수행하려면 푸시 규칙을 사용합니다.

  • 스크립트를 작성하지 않고 표준 정책을 시행합니다.
  • 조직 및 리포지토리 전반에서 정책을 일관되게 시행합니다.
  • GitHub의 UI 및 API를 통해 규칙을 관리합니다.
  • 감사 로깅, 바이패스 목록, 규칙 인사이트와 같은 GitHub 네이티브 기능을 사용합니다.