사전 커밋 훅은 어떤 이유로 커밋을 실패 할 수 있기를 원할 때 사용됩니다. FTP 사이트가 다운되었거나 디스크가 꽉 찼기 때문에 커밋을 실패하고 싶습니까?
필수 속성이 누락 된 파일 등 개발자 통제하에있는 것만 실패하면 사전 커밋 스크립트 만 사용해야합니다. 그러면 개발자가 문제를 해결 한 다음 커밋을 다시 제출할 수 있습니다.
포스트 커밋 스크립트는 사용자의 터미널이 완료 될 때까지 기다리지 만 여전히 스크립트가 실패하고 실패했다는 것을 사용자에게 알리지 만 커밋이 발생합니다. 후크를 사용하여이 작업을 수행하려면 미리 커밋 된 후크가 아닌 후행 커밋 후크를 사용해야합니다.
훅은 좋은 방법이 아닙니다. 사용자가 많은 파일을 커밋하면 어떻게 될까요? 후크 스크립트가 실행되는 동안 10 분 정도 앉아 있어야합니까?
더 좋은 아이디어는 Hudson과 같은 연속 빌드 시스템을 사용하는 것입니다. Hudson은 Subversion 저장소를보고 사용자가 커밋을 할 때마다 원하는 FTP 작업을 수행 할 수 있습니다. Hudson을 사용하면 개발자가 훅을 완료하기를 기다릴 때 개발자를 묶어 두지 않고 모든 커밋과 관련된 모든 일을 완벽하게 기록 할 수 있습니다.
사실 모든 사이트는 연속 빌드 서버를 사용해야합니다. 코드를 컴파일하지 않더라도 모든 커밋에 대해 테스트를 실행하고 싶습니다.
허드슨은 작업을 더 쉽게 할 수있는 FTP 및 SFTP 플러그인을 가지고 있습니다. 또한 Hudson에서 사전 구축 및 사후 구축 스크립트를 호출 할 수 있기 때문에 마음껏 원하는 모든 것을 할 수있는 유연성을 확보 할 수 있습니다.
허드슨은 Windows 서버와 유닉스 서버에서 실행됩니다. 이것은 Java 프로세스입니다.
는 Windows에있어, 당신은 에게 PowerShell을이없는 경우, 당신은 몇 가지 스크립트 언어 당신을 다운로드하여 후크를 작성하는 것을 사용해야합니다. Windows command.exe 프로세서의 표준 프로그래밍 언어는 매우 유연하거나 강력하지 않습니다. 후크는 서버에서 실행되기 때문에 후크가 단일 컴퓨터에서 실행되는지 여부 만 고려하면됩니다. 일부 프로그램은 클라이언트 측 훅을 사용하며 훅을 작성하는 경우 클라이언트가 사용할 수있는 모든 단일 시스템에서 실행 가능해야합니다.
아니요, 사전 커밋이 필요합니다. 그렇지 않으면 FTP 업로드가 실패하지만 커밋이 이루어지며 망가졌습니다. – Liquidgraph
FTP 업로드와 관련된 샘플은 없습니다. 또한, hook-script를 통해 Windows에서 빌드 인 명령 줄 ftp 클라이언트를 사용하는 방법을 자세히 설명 할 수 있습니까? – Liquidgraph
마지막으로 원하는 것은 pre-commit hook입니다. 사전 커밋 훅은 사용자 문제에만 사용해야합니다. 그렇게하면 사용자가 문제를 해결하고 다시 시작할 수 있습니다. FTP 서버에 문제가 있습니다. –