Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为开发和生产站点处理一个CI代码库_Php_Git_Codeigniter - Fatal编程技术网

Php 为开发和生产站点处理一个CI代码库

Php 为开发和生产站点处理一个CI代码库,php,git,codeigniter,Php,Git,Codeigniter,我想我已经差不多明白了。我将使用GIT和我的live文件结构,我正试图弄清楚我应该如何做到这一点。我的问题是我将有一个用于开发(dev)的分支和一个用于生产站点(public_html)的分支。如果由于index.php文件是如何用于CI的,它们应该具有相同的index.php文件,那么if语句将处理您当前所处的环境 /root /application /dev /site1 /assets index.php

我想我已经差不多明白了。我将使用GIT和我的live文件结构,我正试图弄清楚我应该如何做到这一点。我的问题是我将有一个用于开发(dev)的分支和一个用于生产站点(public_html)的分支。如果由于index.php文件是如何用于CI的,它们应该具有相同的index.php文件,那么if语句将处理您当前所处的环境

 /root
    /application
    /dev
        /site1
            /assets
            index.php
    /public_html
        /assets
        index.php
    /system

是的,您可以有一个index.php文件,让它决定如何为每个环境设置常量更重要的是database.php文件。您应该使用以下方法从GIT存储库中排除
database.php

我们目前的机构包括以下分支机构:

/master
/test
/beta
我们还有三个服务器环境:

  • 生产
  • 质量保证
  • 发展
我们在上使用发布系统在
beta
test
分支上自动部署,但在
master
分支上使用手动部署。这样,我们就能够拥有用于开发和QA测试的最新版本(与我们当前的构建状态相匹配),并且还能够轻松地部署生产代码

除了
database.php
文件之外,所有这些都使用相同的代码库

祝你好运

更新:您不应该与
test/prod
数据共享
dev
数据。您可能会对您的测试和产品数据做一些不受欢迎的事情。代码也是如此,这就是为什么在任何给定时间都应该有3个不同的代码副本。每个副本都是一种保护措施,可以防止您覆盖自己,和/或在开发过程中向生产引入bug

因此,您的环境应该更像:

/root
    /dev
        /application
        /assets
        /system
        index.php
    /test
        /application
        /assets
        /system
        index.php
    /public_html
        /application
        /assets
        /system
        index.php
现在,您的GIT repo只跟踪/dev文件夹下的任何内容,因为这三个都是彼此的副本,只是处于不同的提交状态


希望这一切都有意义。一个代码基。开发、测试和发布的三个独立位置。

好的,但是一个索引文件的位置应该正确放置在哪里。另外,由于开发子域和生产域的映像都相同,资产文件夹应该放在哪里。@KevinSmith我不确定您指的是什么“应将该索引文件的位置正确放置在何处"? 您是否移动了正在处理的CI项目中的index.php文件?回答关于资产的问题:您是否计划在开发人员和生产人员之间共享生产数据?这会给您的生产数据带来灾难。我会避免的。将所有代码和数据分开。@KevinSmith仔细查看您的文件夹结构,我不会混合任何代码。我会更新我的答案,让它更清楚我的意思。