2011-08-22 7 views
0

게시 된 개정판 이후 변경된 웹 사이트 파일 만 SSH 또는 FTP를 사용하여 호스팅 계정으로 이동하려고합니다. 호스팅 계정은 Linux 기반이지만 모든 버전 제어가 설치되어 있으므로 단순히 업데이트 만 할 수는 없으며 솔루션은 로컬 개발 컴퓨터에서 실행해야합니다.웹 사이트 호스팅 계정에 변경 사항 적용

나는 본질적으로 무엇을하려고 노력하고있다 http://www.deployhq.com/하지만 무료입니다. 모든 것을 다시 업로드하거나 수동으로 이동할 파일을 선택하지 않고 변경 사항을 게시하고 싶습니다. 나는 버전을 비교하고 각 파일을 복사하는 bash 스크립트를 사용하고있다. (우리가 개발을 위해 리눅스를 사용할 것이기 때문에 그 방법이 얼마나 좋을까?) 웹 인터페이스가있는 것이 좋을 것이다.

미리 도움을 청하십시오!

+0

마지막으로 프로덕션 서버에 적용된 개정판을 알고있는 경우 'hg log -v -r 10 : tip' ("10"을 올바른 개정 ID로 대체)과 같은 작업을 수행 할 수 있으며' '줄을 출력하고 거기에 나타나는 파일을 업로드하십시오. – geoffspear

+0

고마워요 @ 워블! 수동으로 할 필요없이 ssh를 통해 각 파일을 복사하는 스크립트를 도와 주시겠습니까? – jmotes

+0

누가 Mercurial 서버를 소유하고 있습니까? 저장소 구성을 제어 할 수 있습니까? 후크 사용에 대해 생각해 보셨습니까? – csano

답변

3

이것은 대상에 hg가 설치되어 있지 않다면, hg에 대한 것보다 rsync에 대한 것 같아 보입니다. 그래서 같은

뭔가 :

rsync -avz /path/to/local/files/ remote_host:/remote/path/ 

이 재귀 적으로 모든 파일을 전송하는 것 (-r)에서 .../지방/파일 /과/원격/경로에 배치합니다. -az는 파일 속성을 압축하고 유지합니다.

rsync는 변경된 파일 만 전송합니다. 원본 경로를 지정할 때 마지막에 슬래시가 있는지 확인하십시오. 위의 링크를 참조하십시오.

+0

죄송합니다. 호스팅 회사는 서버에 설치되지 않았기 때문에 SSH 액세스가있는 경우에도 rsync를 수행 할 수 없다고 주장합니다. – jmotes

+0

나는 rsync를 많이 사용하지는 않았지만 호스팅 회사의 반응이 나를 어지럽게했다. 서버에서 rsync를 실행할 수없는 경우에도 서버에 동기화 할 수 있어야한다고 생각했습니다. 이것에 대해 자세히 설명해 주시겠습니까? – jmotes

+0

시도해 보셨습니까? 나는 그것이 ssh를 통해 작동해야한다고 생각합니다. 그렇지 않은 경우 오류가 무엇인지 확인하십시오. –

관련 문제