문제

우리 웹 상점에 Subversion을 소개하겠습니다.체크인된 파일을 FTP를 통해 서버에 업로드하고 싶습니다(그리고 SFTP를 통해 Subversion에 익숙해지면).파일은 테스트 목적으로 릴리스 후보 페이지로 전송됩니다.파일을 프로덕션으로 이동하기 위해 스크립트를 호출할 수 있습니다.

내 질문은 이것입니다:Subversion을 통해 파일을 서버로 어떻게 전송합니까?파일이 체크인될 때 전송을 수행하도록 추가할 수 있는 스크립트가 있습니까?

도움이 되었습니까?

해결책

서버에 대한 쉘 액세스 권한이 있고 서버에 SVN이 설치되어 있는 경우(또는 SVN을 설치할 수 있는 기능이 있는 경우) 가장 좋은 방법은 FTP를 완전히 우회하는 것입니다.

앱을 배포하는 방법은 (간소화)

  • 개발자는 코드를 작성하고 트렁크에 체크인합니다.
  • 주기적으로 트렁크가 안정되면 태그로 스냅샷을 찍습니다.
  • 서버에서 svn 체크아웃 태그

서버(또는 라이브 서버 자체에서 직접)를 변경해야 하는 경우 Subversion을 사용하여 코드를 동기화하는 것은 간단합니다.

다른 팁

SubVersion에서 커밋 후 후크를 사용하는 스크립트를 빌드하려고 합니다.저장소에서 스크립트를 내보낸 다음 서버로 FTP를 보내거나 저장소에서 서버의 작업 디렉터리로 체크아웃하고 커밋 후 후크 스크립트의 서버 작업 디렉터리에서 "svn update"를 호출할 수 있습니다. .

Subversion FAQ에 더 많은 정보가 있습니다.

배포를 위해 svn checkout 대신 svn 내보내기를 사용해야 한다고 생각합니다. 그러면 프로덕션 백업 작업을 방해하는 .svn 디렉터리가 없습니다.svn 내보내기는 "깨끗한" 체크아웃입니다.

나는 또한 당신을 위해 모든 것을 처리하는 스크립트를 만들 것입니다.코드 구성 방식에 따라 디렉터리 버전을 지정하고 심볼릭 링크를 최신 버전으로 업데이트하면 롤백이 더 쉬워집니다.

다음과 같은 것을 사용할 수도 있습니다. 카피스트라노 배포를 자동화합니다.그래도 CruiseControl에 대한 권장 사항은 두 번째입니다.

당신이 찾고 있는 것은 자동 빌드 스크립트와의 통합과 같은 것이라고 생각합니다.나는 사용했다 크루즈 컨트롤 ASP.Net 응용 프로그램으로 비슷한 작업을 수행합니다.나는 귀하의 정확한 요구 사항을 모르지만 귀하가 원하는 것을 할 수 있을 것이라고 확신합니다.

이를 위해서는 커밋 후 스크립트가 유용합니다.기본적으로 모든 커밋에서 이벤트 후에 스크립트가 호출되며, 이를 사용하여 어디에서나 svn 내보내기를 수행할 수 있습니다.

흥미로운 기사 이것이 어떻게 이루어질 수 있는지 보여줍니다. 이것 Subversion과 함께 후크 스크립트를 사용하는 방법을 보여줍니다.

이를 위해 SVN "후크"를 사용할 수 있습니다.기본적으로 모든 체크인 전후에 스크립트를 실행하도록 서버를 구성할 수 있습니다.다음은 관련 섹션에 대한 직접 링크입니다. 온라인 도서.

저는 오리온의 생각에 두 번째입니다.서버에 대한 쉘 액세스 권한이 있다면 실제로 Subversion 자체를 배포 도구로 사용하는 것이 매우 쉽습니다.실수로 .svn 디렉토리가 노출되지 않도록 일부 웹 서버 규칙이 설정되어 있는지 확인하세요.

svn2web은 커밋할 때마다 Subversion 저장소에서 웹 서버로 ftp 또는 scp 파일을 전송합니다.참조 소스포지 자세한 내용은 프로젝트를 참조하세요.

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