我正在寻找一种方法来简化我们的一个php Web应用程序的部署(如果它在此工作,我将其推出到其他应用程序).
我非常喜欢这样的样子:http://www.springloops.com/,但它是SVN,我们正在使用汞.
不幸的是,我们没有shell访问我们当前的服务器,所以有效的ftp将是最好的,如果有人有任何想法?
解决方法
你需要从钩子中使用mercurial的hg archive命令.它会显示您指定的修订版本(通过标签等),然后将其导出.
在你的“生产”仓库的hgrc中,你可以这样做:
[hooks] changegroup = ./doDeploy.sh
然后./doDeploy.sh会有:
hg archive -r tip /tmp/deployme ftp /tmp/deployme ftp://remoteserver
你最终必须解决各种各样的小故障,如文件权限,已从repo中删除的文件,但仍然存在于服务器上等等,但一般来说,为系统提供了一个良好的框架,发布管理员推送的更改自动将快照上传到活动系统.