Subversion和Symfony 2

时间:2012-01-27 23:51:49

标签: svn symfony

我的团队即将使用Symfony2框架开始一个Web项目。我们将使用SVN进行版本控制(这是不可协商的,对不起git粉丝)。我试图概念化我们如何能够修改代码以及顺利部署到我们的实时服务器。

以下是我们正在使用的一般系统:

  • SVN服务器
  • 部署服务器
  • 每个团队成员都应该在自己的机器上进行本地开发

我希望我们的系统如何工作:

  • 开发人员将网站代码签出到本地计算机
  • 通过Eclipse IDE开发
  • 在其计算机上调试,测试和启动站点的本地副本(连接到部署服务器以访问数据库)
  • 检查对SVN repo的更改
  • 主要开发者
  • 将更新的代码部署到实时服务器

这看起来像是一个很好的工作流程吗?唯一令人尴尬的部分是它需要每个开发人员将W / LAMP堆栈部署到他们的本地机器上。但是,这仍然是可行的。

此外,他们的任何特定于Symfony / SVN的工具或命令是否会使这个工作流程更容易实现?

4 个答案:

答案 0 :(得分:5)

除了一件事之外,一切看起来都很好而且显而易见

  

更新的代码自动部署到实时服务器

请勿这样做

事实上,部署是一个自动执行的过程, 始终应由用户启动。总是,没有例外

此外,我还要添加另一个步骤 - 持续集成服务器,运行测试并计算各种指标并进行一些分析

答案 1 :(得分:1)

看看未来可能出现的一些问题:

  1. 如果
  2.   

    开发人员将网站代码签出到本地计算机

    如何确保传播仅限本地数据(配置?)

    1. 如果每个开发
    2.   

      连接到部署服务器以访问DB

      你没有任何解决方案“我们改变了数据库的结构”和“数据不同步”灾难,当你得到解决方案

      1. 项目3,4,5 在一起看起来像是一个挑衅,可以使用巨大的零星混合提交,而不是“经常提交,快速提交”

      2. 我没有看到任何提及自动单元和功能测试

答案 2 :(得分:1)

您可能需要阅读How to Create and store a Symfony2 Project in Subversion食谱条目。

答案 3 :(得分:0)

我建议CI在每次提交后都像Hudson一样自动部署。

用ANT编写的部署:

清除数据缓存 下拉式数据库 架构更新 负载赛程

运行PHPUnit测试