2011-04-30 76 views
2

我试图使用CodeIgniter,GIT和Apache 2与几个Web开发人员开发Web应用程序(PHP/MySQL)。为了建立一个每个开发人员都有自己的虚拟沙盒服务器的环境,我想象一下,需要为每个开发人员创建一个Apache上的虚拟主机(由端口隔离),并且每个开发人员都有一个将其提交代码复制到其Web根目录的挂钩(他们的虚拟主机)。唯一的问题是,每个开发者最终都会将他们的代码推送到中央开发服务器,并且他们的每个代码都会有一个修改后的配置文件(CI的index.php文件),其中包含“应用程序”和“系统”文件夹的不同路径,这将导致一个重大冲突。例如:dev1和dev2的web根目录和index.php文件分别在'home/dev1/www/myapp/front-end /'和'home/dev2/www/myapp/front-end /'中,并且分别位于'home/dev1/www/myapp/front-end /'和'home/dev1/index.php将分别指向应用程序路径的'home/dev1/www/myapp/back-end/application /'和'home/dev2/www/myapp/back-end/application /',但是主开发服务器的web root和index.php在'/ var/www'中,index.php指向应用程序路径的'/ data/myapp/application')。在Dev服务器上使用CodeIgniter,GIT和Apache进行多个开发设置

我该如何解决这个问题?有没有比我想到的路线更好的解决方案?

回答

0

感谢您的回复。我记得一切都基本上可以在Apache中定制,CodeIgniter & GIT,我不必使用默认配置。因此,要解决我干脆搬到CI的系统文件夹到应用程序文件夹的问题,更名为应用程序文件夹为“后端”,创建了一个名为“前端”的文件夹和移动的index.php到那里,感动“后端”和'前端'到'/ data/myapp'中,更新了CI的index.php以相对指向应用程序和系统文件夹(分别为'../back-end'和'../back-end/system')的,更新的GIT主/中央储存库的更新后的钩释放所述主dev的服务器代码以“/数据/ MyApp的”,更新的Apache配置为使用“/数据/ MyApp的/前端”作为文档根(代替/ var/www'),并在Apache中创建每个开发者的虚拟主机,以使用'home/USERNAME/www/myapp/front-end /'作为他们的文档根目录(他们的工作本地副本)。开发人员可以轻松测试他们的工作代码,并且他们的index.php文件不会搞砸主开发服务器的index.php文件,因为现在一切都是相对的并且一起工作。

我知道我可以做一个钩子来忽略index.php(因为它的内容几乎从不需要改变)在提交或推送,这会更简单,但我需要更好地组织目录结构的CI无论如何,/ app和Apache。

再次感谢人们!

-1

配置的index.php使用〜/一些/路径,使开发者将他们的资料库,以他们的主文件夹,这样您移动在项目中缝本地配置,而不是配置。

或者,让index.php运行一些通过检查某些环境变量或数据库值来查找路径的脚本。

2

使用私人开发分支,您可以在其中更改配置作为第一次提交以适合您的特定环境。现在

git checkout shared_branch 
git merge -s ours your_branch 

后续的合并不应该使用我们的战略,你的配置将是您需要为您的分支,它需要对中央一台什么。

希望这会有所帮助

相关问题