【问题标题】:Production and Development environment using Phing and SVN使用 Phing 和 SVN 的生产和开发环境
【发布时间】:2012-01-31 15:08:45
【问题描述】:

我有一些关于开发和部署的问题。我会尽量说清楚:

注意事项:

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,但是生产环境会发生什么?

我对这一切有点混乱。请你把我的思绪放开一点好吗?

提前致谢。

【问题讨论】:

    标签: php svn codeigniter environment phing


    【解决方案1】:

    只需为 DEV 和 PROD(或主干+分支)使用 2 个单独的分支,并为 Phing 使用不同的配置和不同的部署目标(每个“分支”)

    在调试后合并从 DEV 到 PROD 的测试更改,在 PROD 树中标记合并(和工作)修订,无需额外分支

    PS - 使用 Git 和 SVN 对我来说似乎是多余的解决方案

    【讨论】:

    • 非常感谢您的回答,请让我看看,我会回来反馈。