Mercurial自动部署

ric*_*lla 9 deployment mercurial automation

我正在寻找一种方法来简化我们的一个php Web应用程序的部署(如果它可以工作,我将把它推出到其他应用程序).

我非常喜欢这个:http://www.springloops.com/,但它是SVN,我们正在使用mercurial.

不幸的是我们没有shell访问我们当前的服务器,所以如果有人有任何想法,那么在ftp上运行的东西最好吗?

Ry4*_*ase 9

你会想hg archive从钩子中使用mercurial的命令.它会显示您指定的修订的快照(通过标记等),然后将其导出.

在您的"生产"存储库的hgrc中,您可以使用以下内容:

[hooks]
changegroup = ./doDeploy.sh
Run Code Online (Sandbox Code Playgroud)

然后./doDeploy.sh会在其中:

hg archive -r tip /tmp/deployme
ftp /tmp/deployme ftp://remoteserver
Run Code Online (Sandbox Code Playgroud)

你最终将不得不解决各种小问题,如文件权限,已从存储库中删除但仍存在于服务器上的文件等,但一般来说,它为系统提供了良好的框架,发布管理器推送给它的更改会自动将快照上传到活动系统.