我对开发和部署有一些疑问。我会尽力明白:
注意:
1-我正在为我的项目使用Codeigniter。我在我的database.php配置文件中设置了两个环境:开发和生产有两个不同的设置,当然。
2-我在同一台服务器上有两个域,一个用于开发(dev.domain.com),另一个用于生产(domain.com)
3- SVN存储库位于同一服务器上,也位于子域下(svn.domain.com)
4-本地,我使用MAMP服务器,我有一个虚拟主机进行测试。另外,我使用Netbeans和Git来管理repo(git-svn命令)
5-我读了其他类似的帖子,但我认为我的项目有一些差异需要考虑
问题:
我想在本地进行更改,然后使用Phing将更改部署到开发环境。这个环境仅用于测试目的,我想保持我的生产环境运行,但是如果我添加一些新功能,我想在真实环境(服务器)中测试它们,然后再将它们添加到生产环境中。
1-配置文件会发生什么?如果我部署开发环境,数据库配置也应该更改。我可以用Phing做到这一点,但之后我会在工作树上进行更改,我需要先提交它并在本地工作时再次更改它们。
2-我是否应该为每个发布到生产的分支机构工作?我可以在开发环境中做一个git svn rebase,但是生产环境会发生什么?
我对这一切都感到很乱。你能清楚一下我的想法吗?
提前致谢。
答案 0 :(得分:1)
只需为DEV和PROD(或主干+分支)使用2个独立的分支,使用不同的配置和Phing的不同部署目标(每个“分支”)
在调试之后合并测试从DEV到PROD的更改,在PROD树中标记合并(和工作)修订而无需额外分支
PS - 使用Git和SVN对我来说似乎是多余的解决方案