2013-09-06 26 views
1

Windows Apache, MySQL, VisualSVN 서버 및 TortoiseSVN 클라이언트를 사용하고 있습니다.VisualSVN 서버를 사용한 포스트 커밋 훅

우리는 다중 시스템 환경을 가지고 있습니다. 나는 살아있는 역할을하는 내 웹 사이트의 작업 카피 (루트 디렉토리 폴더)를 가지고있다.

웹 사이트의 변경 사항을 SVN 서버에 정기적으로 커밋하는 사용자가 많지만 라이브 웹 사이트 작업 복사본에서는 이러한 커밋이 업데이트되지 않습니다.

라이브 커밋 작업 복사본을 자동으로 업데이트하기 위해 커밋 후크를 구현하기 위해 수행해야 할 정확한 프로세스를 찾고 있습니다. 이것을 구현하려면 무엇을해야합니까?

+0

읽기 http://stackoverflow.com/questions/5763397/visual-svn-server-guide-on-pre-post-commit-hooks –

답변

0

설명이 아직 충분하지 않습니다. 그래서 나는 아마도 작동 할 수있는 무언가를 기술한다 (나는 그것을 좋아하지 않는다 ...).

  1. 디렉토리 svn-web에서 서버 X에 (당신은 라이브 일부가되고 싶은) 서버 X에서 저장소의
  2. 체크 아웃 부분을 저장소를 만듭니다.
  3. svn-web이 apache에 의해 서비스되고 있는지 확인하고 브라우저를 통해 사용자에게 보이지 않도록 svn-web/.svn 디렉토리를 숨기려고합니다. 또는 svn-web의 하위 디렉토리 만 Apache에 제공하므로 svn-web/.svn이 자동으로 숨겨집니다.
  4. 커밋 후크를 구현합니다 (SVN Red Book에서 설명).

cd svn-web; svn update .는 다음이 발생합니다 :

  1. 개발자는 로컬 svn-web의 디렉토리 트리의 일부를 변경
  2. 는 다음이 후크에 포함합니다.
  3. 변경 사항을 완료하면 커밋합니다.
  4. 커밋이 성공하면 (커밋하지 않아도 커밋되지 않습니다) 커밋 후 후크가 트리거됩니다.
  5. 체크 아웃 된 디렉토리의 서버에서 업데이트가 수행되므로 다음 웹 요청에 다른 소스가 표시됩니다.

왜 내가 좋아하지 않습니까?

  • Subversion의 모든 커밋이 자체 포함되어 있지 않으므로 최종 사용자에게 "좋지 않은"중간 상태가있을 수 있습니다.
  • 최종 사용자가 버그를 발견하기 전에 테스트, 통합, ... 단계가 없습니다.
+0

이 스크립트를 사용했습니다. 내가 visualsvn에 있음을 넣을 때 %는 1 /'svnlook는 경로 다음은 폼 명령 프롬프트를 실행하면 잘 작동 웹 루트에 "REPO하는 경로"--force -r % 2 수출 SVN % 1 -r % 2' 을 변경하지만, repo 훅 포스트 커밋 위젯이 작동하지 않습니다. 커서를 커밋 할 때로드하는 중입니다. 도와주세요. –