我想我差不多想通了。我将使用GIT和我的实时文件结构,我正在试图弄清楚我应该如何做到这一点。我的问题是我将为开发(dev)创建一个分支,为生产站点(public_html)创建一个分支。如果index.php文件是用于CI的,那么它们是否应该具有相同的index.php文件,那么if语句将处理您当前所处的环境。
/root
/application
/dev
/site1
/assets
index.php
/public_html
/assets
index.php
/system
答案 0 :(得分:2)
是的,您可以拥有一个index.php文件,让它决定如何为每个环境设置常量。 更重要的是您的database.php文件。您应该使用以下方法从GIT存储库中排除database.php
:
我们目前的设置包括以下分支:
/master
/test
/beta
我们还有三个服务器环境:
我们正在SpringLoops上使用发布系统在beta
和test
分支上自动部署,但要在master
分支上使用手动部署。这样,我们就可以拥有最新版本的开发和QA测试(与我们当前的构建状态相匹配),并且还能够轻松部署我们的生产代码。
所有这些都使用与database.php
文件相同的完全代码库。
更新:您不应与dev
数据共享test/prod
数据。您可能会对测试做一些事情并生成不合需要的数据。对于代码也是如此,这也是 在任何给定时间具有3个不同代码副本的原因。每个副本都可以防止您覆盖自己,和/或在开发过程中向生产中引入错误。
因此,您的环境应该更像:
/root
/dev
/application
/assets
/system
index.php
/test
/application
/assets
/system
index.php
/public_html
/application
/assets
/system
index.php
现在,您的GIT仓库只跟踪/ dev文件夹下的任何内容,因为这三个都是彼此的副本,只有在不同的提交状态下才会存在。
希望这一切都有意义。一个代码库。开发三个独立的地方,测试,然后发布到生产。