저는 PHP 웹 응용 프로그램 중 하나의 배포를 능률화하는 방법을 찾고 있습니다 (이 도구가 작동하는 경우 다른 응용 프로그램으로 배포 할 예정입니다).Mercurial 자동 배포
저는이 모양을 아주 좋아합니다 : http://www.springloops.com/,하지만 SVN이고 우리는 수은을 사용하고 있습니다.
불행히도 현재 서버에 대한 셸 액세스가 없으므로 누구나 아이디어가 있다면 ftp를 통해 작동하는 것이 가장 좋습니다.
저는 PHP 웹 응용 프로그램 중 하나의 배포를 능률화하는 방법을 찾고 있습니다 (이 도구가 작동하는 경우 다른 응용 프로그램으로 배포 할 예정입니다).Mercurial 자동 배포
저는이 모양을 아주 좋아합니다 : http://www.springloops.com/,하지만 SVN이고 우리는 수은을 사용하고 있습니다.
불행히도 현재 서버에 대한 셸 액세스가 없으므로 누구나 아이디어가 있다면 ftp를 통해 작동하는 것이 가장 좋습니다.
수은의 hg archive
명령을 후크에서 사용하고 싶습니다. 사용자가 지정한 개정판의 스냅 샷을 태그 등을 사용하여 가져 와서 내 보냅니다. 당신의 "생산"저장소의 hgrc에서
이 같은 수 :
[hooks]
changegroup = ./doDeploy.sh
을 다음 ./doDeploy.sh
그 안에 것 :
hg archive -r tip /tmp/deployme
ftp /tmp/deployme ftp://remoteserver
당신은 주변의 모든 일을 할 필요하게 될 겁니다 파일 권한과 같은 종류의 작은 결함, repo에서 삭제되었지만 서버에 여전히 존재하는 파일 등이 있지만 일반적으로 릴리스 관리자가 변경 사항을 푸시하면 시스템에 좋은 프레임 워크를 제공합니다. 같이 살아있는 시스템에 napshot.
그건 내 5 센트 야. 대답의 ftp 부분은 서브 디렉토리가없는 프로젝트에서만 작동한다. -e 옵션) 로컬 더 이상 존재하지 않는 원격으로 파일을 삭제합니다 :
#!/bin/sh
rm -rf /home/user/tmp/deploy/*
hg archive -r tip /home/user/tmp/deploy/
lftp -u username,password your.ftpsite.com << END_SCRIPT
set ftp:ssl-allow no
cd httpdocs/yoursite/
mirror -R -e --only-newer --log=/home/user/lftp.log /home/user/tmp/deploy .
END_SCRIPT
echo "#--- $(date)" >> /home/user/lftp.log
exit 0
FTPExtension 나를 위해 잘 작동합니다.
메신저 Windows 시스템에서 가정하면이 파일은 방금 파일이됩니다. – richzilla
그건 분명히 가능합니다. 또는 파이썬으로 처리 할 수 있습니다. 자세한 내용은 무료 수은 책의 10 장을보십시오. –
보관함, 전체 저장소를 내보내기 때문에 IMHO가 Continuos 배포 (전송 크기)를위한 최선의 방법이 아닙니다. –