사전 수신 후크 정보
푸시가 발생하면 각 스크립트는 격리된 환경에서 실행되며 푸시 콘텐츠에 대한 검사를 수행할 수 있습니다. 스크립트는 종료 상태가 0인 경우 푸시를 수락하거나 종료 상태가 0이 아닌 경우 거부됩니다.
사전 수신 후크를 사용하여 비즈니스 규칙을 충족하고 규정 준수를 적용하여 특정한 일반적인 실수를 방지합니다.
사전 수신 후크를 사용하는 방법의 예:
- 유효한 티켓 번호를 포함하거나 특정 길이를 초과할 때와 같이 특정 패턴이나 형식을 따르려면 커밋 메시지가 필요합니다.
- 모든 푸시를 거부하여 분기 또는 리포지토리를 잠급니다.
- 키워드, 패턴 또는 파일 형식을 차단하여 중요한 데이터가 리포지토리에 추가되지 않도록 방지합니다.
- PR 작성자가 자신의 변경 내용을 병합하지 못하도록 합니다.
github/platform-samples
리포지토리에서 GitHub Enterprise Server에 대한 사전 수신 후크의 예를 볼 수 있습니다.
성능 및 워크플로에 미치는 영향
개발자와 그들의 워크플로에 미치는 영향은 중요할 수 있으며 신중하게 고려해야 합니다. 비즈니스 요구 사항을 기반으로 하여 신중하게 구현된 사전 수신 후크는 조직 전체에 매우 큰 혜택을 제공합니다.
사전 수신 후크는 의 성능에 의도하지 않은 영향을 줄 수 있으므로 신중하게 구현하고 검토해야 합니다.
인스턴스의 모든 사용자에게 오류 및 성능에 영향을 줄 위험이 있으므로 다음을 권장합니다.
- 사전 수신 후크 내에서 API 요청을 방지합니다. 특히, 외부 서비스에 대한 요청은 시간이 오래 걸리고 성능에 영향을 줄 수 있으므로 이를 강력히 권장하지 않습니다.
- 사전 수신 후크 내에서 장기간 실행되는 Git 작업을 방지합니다. 사전 수신 후크가 크거나 사용 중인 리포지토리 내에서 Git 작업을 수행하는 경우 인스턴스의 Git 및 전반적인 성능에 부정적인 영향을 줄 수 있습니다.
참고: 시간 제한으로 인해 푸시가 거부되는 것을 방지하려면 결합된 모든 사전 수신 후크를 5초 안에 실행해야 합니다.