Svn 颠覆与符号2
我的团队即将开始一个使用Symfony2框架的web项目。我们将使用SVN进行版本控制(这是不可协商的,很抱歉git粉丝)。我试图概念化我们将如何能够修改代码以及顺利地部署到我们的实时服务器 以下是我们正在使用的通用系统:Svn 颠覆与符号2,svn,symfony,Svn,Symfony,我的团队即将开始一个使用Symfony2框架的web项目。我们将使用SVN进行版本控制(这是不可协商的,很抱歉git粉丝)。我试图概念化我们将如何能够修改代码以及顺利地部署到我们的实时服务器 以下是我们正在使用的通用系统: SVN服务器 部署服务器 每个团队成员都应该在自己的机器上进行本地开发 我希望我们的系统如何工作: 开发人员将网站代码签出到本地计算机 通过EclipseIDE开发 调试、测试并在其计算机上启动站点的本地副本(连接到部署服务器以访问DBs) 检查对SVN回购的更改 更新
- SVN服务器
- 部署服务器
- 每个团队成员都应该在自己的机器上进行本地开发
- 开发人员将网站代码签出到本地计算机
- 通过EclipseIDE开发
- 调试、测试并在其计算机上启动站点的本地副本(连接到部署服务器以访问DBs)
- 检查对SVN回购的更改
- 更新的代码由首席开发人员部署到live server
另外,他们是否有任何特定于Symfony/SVN的工具或命令可以使此工作流更易于实现?除了一件事之外,一切看起来都很好,很明显 更新的代码将自动部署到live server 不要那样做 事实上,部署是一个自动执行的过程,但它总是由用户启动。总是,没有例外
此外,我还将添加另一个步骤-持续集成服务器,以运行您的测试并计算各种指标,并进行一些分析查看未来可能出现的问题:
我建议像Hudson这样的CI在每次提交后自动部署 使用ANT编写的部署: 清除缓存 删除数据库 模式更新 负载夹具
运行PHPUnit测试您可能想阅读烹饪书条目。很抱歉,但很好奇为什么是svn,而不是2012年的mercurial/git?这是一个软件工程类,这是他们的限制。另外,团队对SVN最为熟悉。我已经了解了十几位使用SVN多年的人,他们如何在大约半小时内使用mercurial。当他们意识到mercurial有多酷后,他们都对我说了谢谢;-)出于好奇,我觉得它需要某种商业许可才能使用。这是真的,还是他们的版本是免费的?不是。Mercurial和git-对于任何使用都是完全免费的SCMsGood point!如果开发人员签入损坏或有缺陷的代码,这肯定会导致问题。@user8709:就在今天,我看了这些幻灯片:-我希望它们也能帮助您设置管道,以确保开发人员不会签入不必要的本地配置,然后在提交到存储库时,我们将忽略任何此类文件。不过,我确实明白你关于数据库的观点。这是我要考虑的问题。此外,我们确实计划使用自动单元测试,我设想开发人员在代码签入之前在本地运行测试套件,以确保一切正常。@user8709:并且测试应该由continuous integration server作为well@user8709-又一次糟糕的旅行,当开发人员更改配置的数据结构时(与DB的情况相同)