2009-09-28 13 views
4

한 서버의 SVN에서 다른 원격 웹 서버로 ASP.NET 응용 프로그램을 배포하는 솔루션을 찾고 있습니다. FTP는 허용되지 않습니다. 파일 복사 이외의 다른 작업 (예 : 가상 디렉터리를 만듭니다.ASP.NET 응용 프로그램을 원격 서버에 배포

어떤 도구를 사용 하시겠습니까? 원격 서버에 MSBuild 나 NAnt가 설치되어있을 수 있지만 SVN 서버에서 웹 서버로 안전하게 파일을 복사하는 방법은 무엇입니까? 어쩌면 SSH? 대안이 있습니까? 파일 복사시 원자 연산을 수행 할 수 있습니까? Continuous Integration 서버가 도움이 될 것이라고 생각하지 않습니다.

SVN 및 웹 서버 모두 Windows 2k3, IIS 6.0, .NET 2.0을 사용하여 빌드됩니다.

편집

배포 SVN 포스트 훅하여 자동 투입되어야한다.

답변

4

필자는 sysinternals (http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx)의 psexec을 사용하여 내 후크 스크립트에서 svn 명령을 원격으로 호출합니다. 기본적으로 누군가가 프로덕션 지점으로 무엇인가를 체크 할 때마다 원격 서버에서 svn update를 호출하고 업데이트가 프로덕션으로 가져옵니다.

두 서버간에 열려있는 포트에 따라 작동 여부는 다를 수 있습니다.

+0

+1 매우 매끄 럽습니다. 나는 그것을 북마크해야 할 것입니다. –

+0

하나의 도구 만 제안하는 것이 이상합니다. 어쨌든 고마워, 나는 그것을 시도합니다! – Sazug

0

하지만 계속 통합 서버 일 수도 있습니다. 도움이 될까요? 다음은 몇 가지 아이디어입니다.

예를 들어, 모든 커밋 후에 솔루션을 자동으로 빌드하려면 CruiseControl.NET을 사용하고 있습니다. 어쩌면 모든 커밋 후 SVN 저장소에서 최신 버전을 검색하기 위해 웹 서버에서 이것을 사용할 수 있습니다.

SVN 저장소에 대한 액세스가 안전해야하는 경우 리포지토리 서버에서 VisualSVN server을 사용하고 https를 사용하여 리포지토리에 액세스 할 수 있습니다.

(아마도 여러 가지가 있지만 ;-) 당신을 도울 수있는 것이 있습니다.

+0

그러나 10 개의 웹 서버가 있다면? 나는 10 개의 CC.NET 인스턴스가 좋은 해결책이라고 생각하지 않는다. – Sazug

관련 문제