我的团队即将使用Symfony2框架开始一个Web项目。我们将使用SVN进行版本控制(这是不可协商的,对不起git粉丝)。我试图概念化我们如何能够修改代码以及顺利部署到我们的实时服务器。
以下是我们正在使用的一般系统:
我希望我们的系统如何工作:
这看起来像是一个很好的工作流程吗?唯一令人尴尬的部分是它需要每个开发人员将W / LAMP堆栈部署到他们的本地机器上。但是,这仍然是可行的。
此外,他们的任何特定于Symfony / SVN的工具或命令是否会使这个工作流程更容易实现?
答案 0 :(得分:5)
除了一件事之外,一切看起来都很好而且显而易见
更新的代码自动部署到实时服务器
请勿这样做
事实上,部署是一个自动执行的过程,但 始终应由用户启动。总是,没有例外
此外,我还要添加另一个步骤 - 持续集成服务器,运行测试并计算各种指标并进行一些分析
答案 1 :(得分:1)
看看未来可能出现的一些问题:
开发人员将网站代码签出到本地计算机
如何确保传播仅限本地数据(配置?)
连接到部署服务器以访问DB
你没有任何解决方案“我们改变了数据库的结构”和“数据不同步”灾难,当你得到解决方案
项目3,4,5 在一起看起来像是一个挑衅,可以使用巨大的零星混合提交,而不是“经常提交,快速提交”
我没有看到任何提及自动单元和功能测试
答案 2 :(得分:1)
答案 3 :(得分:0)
我建议CI在每次提交后都像Hudson一样自动部署。
用ANT编写的部署:
清除数据缓存 下拉式数据库 架构更新 负载赛程
运行PHPUnit测试