多站点SVN/开发工作流

多站点SVN/开发工作流,svn,workflow,Svn,Workflow,我正在与一个开发大型CakePHP应用程序的团队合作。下面是它的工作原理: 我们公司创建HTML/CSS/JS页面设计,并将其提交给我们的设计服务器。印度的外包公司“下载”这些页面设计并为其编写PHP/AJAX代码。然后,他们将完成的代码和页面设计提交给他们托管的测试服务器 我们测试代码,发送批准,然后印度将完成的代码提交到我们的生产SVN服务器,该服务器通过FTP自动更新我们的生产站点 如果我们需要对设计或代码进行更改,我们的公司(或印度)将在本地测试这些更改,然后提交到生产服务器 在我们公司

我正在与一个开发大型CakePHP应用程序的团队合作。下面是它的工作原理:

我们公司创建HTML/CSS/JS页面设计,并将其提交给我们的设计服务器。印度的外包公司“下载”这些页面设计并为其编写PHP/AJAX代码。然后,他们将完成的代码和页面设计提交给他们托管的测试服务器

我们测试代码,发送批准,然后印度将完成的代码提交到我们的生产SVN服务器,该服务器通过FTP自动更新我们的生产站点

如果我们需要对设计或代码进行更改,我们的公司(或印度)将在本地测试这些更改,然后提交到生产服务器

在我们公司和印度之间,除了存储在团队成员计算机上的每个FTP/SVN服务器的本地工作副本外,我们还有三个FTP/SVN服务器:

  • SVN/FTP服务器的设计
  • 测试SVN/FTP服务器
  • 生产SVN/FTP服务器

我们能做些什么来改进工作流程吗?将每个服务器/存储库的不同部分相互同步会有点麻烦。

为什么需要三个不同的SVN服务器?为什么不在单个服务器上使用分支或标记呢?您仍然可以使用脚本检查特定标记的更新,并将其上载到web服务器

我们测试代码,发送批准,然后印度将完成的代码提交到我们的生产SVN服务器,该服务器通过FTP自动更新我们的生产站点


至少您应该使用SVN而不是FTP将生产代码签出到服务器上,未来对生产代码的更改很简单,例如更新生产服务器上的工作副本(SVN up)。

应该只有一个存储库,就这么简单-这是第一步,但相当关键

我认为,然后您可以运行多个并行分支,目的是让更改向主干渗透——主干是已部署(或至少可部署)的生产版本


但是第一件事必须是您只需要一个存储库。

听起来不错。那么,这些分支本质上是否具有彼此的完整副本(即生产和测试),而不仅仅是代码差异?我仍然不确定从测试环境到生产环境处理更新的最佳自动化方式,反之亦然,以便快速部署对时间敏感的错误修复。我一直在重新阅读这个问题-这是一组复杂的问题!我需要花更多的时间在这件事上,让我的头脑清醒过来!