2011-04-30 77 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 

後續的合併不應該使用我們的戰略,你的配置將是您需要爲您的分支,它需要對中央一臺什麼。

希望這會有所幫助

相關問題