2009-11-30 7 views
11

전 Subversion을 처음 접했고 어떻게 개발 단계에서 제작 단계로 넘어 갔는지 궁금합니다.Subversion에서 웹 사이트 배포

릴리스 용 분기를 만드는 개념을 detailed here으로 파악한다고 생각합니다. 하지만 어떻게 실제로 지점을 배포합니까?

이상적으로는 새 웹 사이트를 설정하고 지점에서 파일을 복사 할 수 있지만 모든 svn 바인딩을 제작에 복사하는 것이 좋습니다.

이것은 관련 Visual Studio 웹 사이트 프로젝트이며 Visual Studio와 통합하기 위해 VisualSVN 서버, TortoiseSVN 및 Ankh를 사용하고 있습니다.

답변

-2

빌드 시스템에서 .svn이라는 폴더를 무시하는 일종의 '배포'대상이 필요합니다. 모든 sbn 정보가있는 곳입니다.

4

cruft에 모든 전복을 제외하고 파일을 내 보냅니다. .svn 디렉토리가없는 곳으로 코드를 내 보냅니다.

3

별도의 지점에서 개발하지 않는 한, 릴리스를 표시하려면 tag을 사용하기 만하면됩니다.

그런 다음 svn export 해당 태그를 수행하여 모든 여분의 .svn 폴더가없는 것은 아닙니다.

5

기본적으로 조각이 누락되었습니다. 테스트 및 프로덕션에 배포하기 위해 전복을 혼자 사용해서는 안됩니다. 최선의 방법은 Subversion에서 빌드를 가져 오는 일종의 스크립트를 사용하는 것입니다 (svn 내보내기를 사용할 경우 Subversion 파일 훅을 가져 오지 않습니다). 필요한 모든 파일을 빌드하고 (스크립트로 작성 가능한 MSBuild를 사용하여) 불필요한 파일 (예 : .aspx.cs 파일)을 작성한 다음 사용자 환경으로 복사하십시오.

로컬에서는 powershell을 사용하여 모든 것을 결합하고 svn 명령 줄, MSBuild 및 nUnit을 명령 줄에서 결합하여 빌드를 수행합니다.

+1

우수 포인트 John 아주 단순한 설정이 아니라면 단순한 "내보내기"이상의 기능이 필요합니다. 스크립트에서 svn 내보내기를 트리거하는 "pull"유형 작업 이외에 저장소에 배치 된 "배포"스크립트도 보았습니다. 나는. 업데이트 프로세스는 1) 내보내기를 수행합니다. 2) 배치 스크립트 (일반적으로 대화식 모드에서 작동)를 실행하십시오. 하나의 경우 실제로는 "배포"페이지였습니다. –

+0

좋은 지적이지만 실제로 이것은 간단한 설정입니다. 지나치게 복잡하게 만들 필요가 없습니다. – plntxt

0

내가 처리하는 방법은 전복에서 코드를 검사하고, 이슈를 작성한 다음 필요한 곳에 배포하는 프로세스를 자동화하기 위해 ant + ivy 또는 maven과 같은 빌드 도구를 사용하는 것입니다.

저는 자바 측에서 더 많은 작업을하고 있습니다. 닷넷 도구에 익숙하지 않으므로 아마도 nmaven을 사용할 수 있을까요?

0

오래된 스레드지만 SVN이 프로젝트의 루트에 하나의 .svn 파일 만 가지고 있기 때문에 조금 변경되었습니다. 또한 .svn 요청을 무시하도록 Apache를 설정하여이 방법을보다 쉽게 ​​구현할 수 있습니다.