我正在开发一个大项目,我有dev文件夹(连接到特定的子域),然后是“真实”文件夹,即实时文件夹。当我准备推送补丁或全新版本时,我正在单独复制文件,是否有一个程序可以帮助我完成这项任务?
请记住,不需要在实时版本中复制某些文件(配置1和htacess)和文件夹(开发文件)。
谢谢
答案 0 :(得分:3)
是的:颠覆(或任何其他版本控制系统)将允许您轻松地推动更改。
一个简单的解决方案是在你开发和承诺的地方有一个结账,另一个结账是部署。准备好后,进入部署目录,然后执行svn,同步它。它不会覆盖已修改或排除的文件。
答案 1 :(得分:0)
有Capistrano和Phing等构建包可以帮助进行更复杂的部署。 Capistrano是基于Ruby的,因此它是RoR应用程序的更自然的选择,而Phing(基于PHP)对于基于PHP的项目来说可能更方便一些。根据我的经验,Phing似乎不如Capistrano成熟,但更灵活一点,因为它并不认为你正在使用像Capistrano这样的Ruby项目。那当然是完全的意见。
两者都倾向于更多的思考和工作来预先配置,但是一旦你设计了部署脚本,就可以运行一个命令,让你在观看时发生一切。这两个工具都可以与SVN等源代码控制集成,并为您提供项目的副本。您还可以将部署分解为子部分,如传统的Makefile,这有助于测试和重用。如果您希望自己的发布过程具有防弹性和一致性,则需要使用一个工具来管理所涉及的所有步骤,以便删除人为错误组件。