Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 颠覆与符号2_Svn_Symfony - Fatal编程技术网

Svn 颠覆与符号2

Svn 颠覆与符号2,svn,symfony,Svn,Symfony,我的团队即将开始一个使用Symfony2框架的web项目。我们将使用SVN进行版本控制(这是不可协商的,很抱歉git粉丝)。我试图概念化我们将如何能够修改代码以及顺利地部署到我们的实时服务器 以下是我们正在使用的通用系统: SVN服务器 部署服务器 每个团队成员都应该在自己的机器上进行本地开发 我希望我们的系统如何工作: 开发人员将网站代码签出到本地计算机 通过EclipseIDE开发 调试、测试并在其计算机上启动站点的本地副本(连接到部署服务器以访问DBs) 检查对SVN回购的更改 更新

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

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

  • SVN服务器
  • 部署服务器
  • 每个团队成员都应该在自己的机器上进行本地开发
我希望我们的系统如何工作:

  • 开发人员将网站代码签出到本地计算机
  • 通过EclipseIDE开发
  • 调试、测试并在其计算机上启动站点的本地副本(连接到部署服务器以访问DBs)
  • 检查对SVN回购的更改
  • 更新的代码由首席开发人员部署到live server
这看起来是一个好的工作流程吗?唯一令人尴尬的是,这将要求每个开发人员在本地机器上部署一个W/LAMP堆栈。但是,这仍然是可行的


另外,他们是否有任何特定于Symfony/SVN的工具或命令可以使此工作流更易于实现?

除了一件事之外,一切看起来都很好,很明显

更新的代码将自动部署到live server

不要那样做

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


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

查看未来可能出现的问题:

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

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

  • 如果每个开发人员
  • 连接到部署服务器以访问DBs

    对于“我们改变了数据库结构”和“数据不同步”灾难,当您得到解决方案时,您还并没有任何解决方案

  • 项目3、4、5组合在一起看起来像是一种挑衅,需要处理大量零星的混合提交,而不是“经常提交,快速提交”

  • 我没有看到任何关于自动化单元和功能测试的提及


  • 我建议像Hudson这样的CI在每次提交后自动部署

    使用ANT编写的部署:

    清除缓存 删除数据库 模式更新 负载夹具


    运行PHPUnit测试

    您可能想阅读烹饪书条目。

    很抱歉,但很好奇为什么是svn,而不是2012年的mercurial/git?这是一个软件工程类,这是他们的限制。另外,团队对SVN最为熟悉。我已经了解了十几位使用SVN多年的人,他们如何在大约半小时内使用mercurial。当他们意识到mercurial有多酷后,他们都对我说了谢谢;-)出于好奇,我觉得它需要某种商业许可才能使用。这是真的,还是他们的版本是免费的?不是。Mercurial和git-对于任何使用都是完全免费的SCMsGood point!如果开发人员签入损坏或有缺陷的代码,这肯定会导致问题。@user8709:就在今天,我看了这些幻灯片:-我希望它们也能帮助您设置管道,以确保开发人员不会签入不必要的本地配置,然后在提交到存储库时,我们将忽略任何此类文件。不过,我确实明白你关于数据库的观点。这是我要考虑的问题。此外,我们确实计划使用自动单元测试,我设想开发人员在代码签入之前在本地运行测试套件,以确保一切正常。@user8709:并且测试应该由continuous integration server作为well@user8709-又一次糟糕的旅行,当开发人员更改配置的数据结构时(与DB的情况相同)