2009-12-26 2 views
4

DVCS 복제본에서 라이브 배포를 직접 실행하고 깨끗한 트리 나 타르볼을 내보내고 배포하는 것이 좋지 않다는 암시가 여기 저기에 있습니다. DVCS 클론에서 직접 실행하면 다음과 같은 이점이 있습니다.DVCS 복제본에서 라이브 사이트를 실행하는 것이 잘못된 이유는 무엇입니까?

  1. 모든 배포시 전체 코드베이스를 전송할 필요가 없습니다.
  2. 원하는 버전으로 코드를 업데이트하십시오.
  3. 배포가 잘못 될 경우 이전 버전으로 롤백해야합니다.

그리고 어떤 단점도 실제로 볼 수 없습니다. repo 파일 (내 경우 단일 .hg/디렉토리)이 있으면 문제가 발생하지 않습니다.

DVCS 복제본에서 라이브 배포를 실행하지 않는 이유가 있습니까?

답변

2

이것은 내가하는 일입니다. 유일한 단점은 데이터베이스 나 사이트에서 생성 된 콘텐츠 (사용자 업로드)를 실제로 버전 제어 할 수 없다는 것입니다. 단점은 없지만 대안이 없기 때문입니다. 평소와 마찬가지로 모든 컨텐츠를 복사하는 백업 스크립트가 필요합니다.

이것은 답변이 아니라 현대 webapp 디렉토리 레이아웃에 대한 설명입니다. 웹 서버는 webroot/에서 정적 콘텐츠를 제공하고 경로가 존재하지 않는 경우가이 경우에 (파이썬을 요청하도록

webapp/ 
    .hg/ 
    webroot/ 
    handler.py 

당신은 그것을 설정합니다 : 아주 간단한 파이썬 웹 애플리케이션은 다음과 같이 표시 될 수 있습니다).

서버 측 소스 코드는 webroot/ 안에 없으므로 소스 코드를 제공하도록 명령 한 파이썬 명령이 없으면 서비스 소스 코드를 제공 할 수 없습니다. .hg/ 디렉토리에도 동일하게 적용됩니다.

참고 : 모든 하위 디렉토리를 통해 자신의 .svn 디렉토리를 스프레이 SVN (< 1.7)과 CVS는 예외입니다. 이 경우에는 webroot/이 포함될 것입니다. 예, 숨김 파일을 제공하지 않았 음을 확인해야하지만 일반적으로 어쨌든이 경우가 일반적입니다.

1

글쎄, 나는 알고있다.

누군가가 .hg 디렉토리에 액세스 할 수 있으면 잠재적으로 소스 코드를 볼 수 있습니다. 그러나 실제로이 디렉토리에 대한 액세스는 서버 또는 .htaccess 파일에 의해 허용되지 않아야합니다.

+1

내가 사용하지 않는 PHP는 없다는 것을 알고있는 모든 최신 웹 -DEV 스택에서 웹 앱 소스 코드는 웹에서 볼 수있는 디렉토리에 있지 않습니다. PHP에서 작업하는 경우에만 관련이 있습니다. –

+1

요점을 놓치고 있습니다. 누군가가 .hg 디렉토리를 얻는 방법을 찾으면 프로젝트의 모든 기록과 모든 소스를 갖게됩니다. 그래서 그들은 그것을 훔쳐이 지식을 무료로 사용할 수 있습니다. – bialix

+2

bialix, 요점을 놓치고 있습니다. 내 대답을 보면 현대 웹 응용 프로그램의 파일 구조에 대한 설명을 볼 수 있습니다.'.hg' 디렉토리는 웹 루트에 있지 않기 때문에 절대 제공되지 않습니다. – Oli

관련 문제