如何使用SVN,Hg或其他方式管理项目部署?

问题描述

| 我有以下问题, 每当我在一个单独的项目中工作时,我都有一个Mercurial存储库,每当我要进行部署时,我都会删除服务器中的所有文件,然后将整个新项目放回那里,这给我带来了问题,当项目发展壮大时,这个过程就变得非常混乱。 我的机器位于代理服务器和防火墙的后面,但我想知道的是如何使该过程更加“自动化”,例如在服务器上建立一个汞储存库并与之进行同步使用开发PC的Mercurial客户端的开发PC,可以这样做吗?或您能推荐一种软件来处理类似的问题吗? 出于上下文考虑,我将Windows用作开发PC的OS,并且该服务器是具有Apache2.2和PHP 5.2的Linux服务器(不确定发行版)。 提前致谢,     

解决方法

我通过使用bash脚本来部署我的个人和小型项目(nginx和python),该脚本下载我最新的源代码控制修订版,更新网络服务器用作站点位置的第二个存储库(hg)(因此,我不必处理复制/覆盖和其他文件)并重新启动网络服务器。这很简单,但对我来说效果很好。代替所有手动命令的更新,复制和重新启动,我只是./deploy.sh,我很乐意使用hg发送的一个不错的变更集更新电子邮件。     ,您可以在服务器上设置一个cronjob,它每隔5分钟左右克隆一次Mercurial存储库,然后删除.hg文件夹。或者,如果您不介意使用.hg文件夹,则可以将存储库设置一次,然后将cronjob设置为每x分钟更新一次。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...