문제

직장에는 IIS와 Subversion이 설치된 Windows Server 2003이 있습니다.우리는이를 사용하여 ASP.NET 웹 사이트를 로컬로 게시하고 테스트합니다.모든 프로그래머는 자신의 PC에 Tortoise를 설치하고 콘텐츠를 서버에 업데이트/커밋할 수 있습니다.저장소 호스팅이 제대로 작동하고 있습니다.하지만 해당 저장소에 보관된 파일을 로컬 IIS(가상 디렉터리)에 복사해야 합니다.

해당 Subversion 저장소를 로컬 IIS에 게시하는 쉬운 방법은 무엇입니까?

편집하다:
덕분에 푸에츠크 커밋이 발생할 때마다 실행되는 간단한 bat 파일을 추가했습니다(다음을 확인하세요). 전복 문서 후크에 대해).내 박쥐 파일에는 다음만 포함됩니다.

echo off
setlocal

:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update

endlocal
exit
도움이 되었습니까?

해결책

  1. 웹 서버의 파일 영역을 작업 복사본으로 유지하고 "게시"할 때마다 svn up을 수행하십시오..svn 폴더의 내용이 어수선해 보일 경우 이를 숨기도록 구성하십시오(이 작업을 수행하는 방법은 구체적으로 모르지만 수행할 수 있다고 가정합니다).그들은 이미 이를 처리할 수 있는 파일 시스템 숨겨진 비트를 갖고 있을 것입니다.

  2. 실제로 자동(누군가 커밋하자마자 업데이트)을 원하는 경우 SVN 서버에서 커밋 후 후크 스크립트를 사용하여 첫 번째 프로세스를 시작합니다.

댓글의 다른 사람들은 결제 대신 내보내기를 사용하도록 제안했습니다.그것도 작동할 수 있고 .svn 혼란을 피할 수 있지만 두 가지 단점이 있습니다.첫째, 수정된 파일뿐만 아니라 전체 내용을 매번 다시 다운로드해야 합니다(.svn 디렉토리에 내용을 기억하지 않았기 때문입니다).파일이 많으면 속도가 훨씬 느려집니다.둘째, 업데이트는 파일을 원자적으로 대체합니다(.svn/tmp에 새 버전을 쓴 다음 해당 위치로 이동).내보내기는 파일이 다운로드됨에 따라 점차적으로 대상에 파일을 씁니다.이는 내보내기를 통해 잘못된 시간에 해당 파일을 검색한 사람에게 불완전한 파일이 전달될 수 있음을 의미합니다.

다른 팁

SVN은 IIS를 지원하지 않습니다.그러나 당신은 할 수 있습니다 독립형 svnserve 서버를 Windows 서비스로 실행.

거기에 SVN FAQ 항목 그것에 대해 그리고 이 블로그 게시물은 버티고 소프트웨어 블로그 도움이 될 수도 있습니다.

업데이트:귀하의 설명에 따르면 귀하가 찾고 있는 것은 체크인 후 서버의 코드를 자동으로 업데이트하는 방법이라는 것을 알았습니다.들여다보다 CruiseControl.NET, 을 살펴본 후 Subversion 통합 튜토리얼 원하는 대로 하면 될 것 같습니다.

업데이트 2:이 튜토리얼에서는 다음을 설명합니다. Subversion, CruiseControl.NET 및 Nant 통합.

아마도 SVNIsapi가 문제를 해결할 수 있을 것입니다(http://www.svnisapi.com).IIS 설치만 활용하므로 APACHE 서버나 SVNSERVER 서비스가 필요하지 않습니다.둘째, SVNISAPI 처리에 ASP.NET ISAPI 플러그인을 스택하여 저장소에서 읽은 후 ASP.NET(.aspx) 페이지가 해석되도록 할 수 있어야 합니다.

Paolo를 건배합니다

사용은 무료로 사용할 수 있습니다 Visual-SVN 서버 Apache 프런트 엔드와 함께 Subversion을 빠르게 설치합니다.또한 서버와 리포지토리를 관리하기 위한 멋진 MMC 스냅인도 있습니다.

HTTP 또는 HTTPS를 사용하여 Subversion에 액세스할 수 있지만 포트 번호는 로컬 IIS가 사용하는 번호와 달라야 합니다(Visual-SVN 서버의 기본 포트는 8080입니다).

로컬 IIS 포트 80을 사용하여 저장소에 액세스해야 하는 경우 다음을 시도할 수 있습니다. SVN-IIS 이는 IIS와 Apache 사이의 브리지 역할을 합니다.하지만 나는 이것을 직접 시도하지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top