在 Ubuntu 下使用 Git 管理網站
所以我們剛剛收到了我們的新伺服器,它將僅用於網站開發和版本控制。
我已經安裝了 Ubuntu(11.04 桌面版,*我喜歡界面,對不起!)*並安裝了 Apache、PHP 和 MySQL——到目前為止,一切都很好。
我們決定使用 Git 作為我們的版本管理系統,因為我們在這方面有很好的經驗。但是……我們不確定如何佈局,我們的結構。所以我希望你能幫助我們。
目前設置
目前,我們執行一個開發伺服器
bbtsrv02
,它是一個 Windows 伺服器,執行 XAMPP。我們在這台伺服器上進行所有開發,當我們快速破解時,它會導致很多噪音和混亂。在本地進行更改後,我們通過 FTP 將這些文件上傳到我們的外部伺服器(由其他人託管)。
這遠非實際,一次可能有 3/5 的開發人員在整個網站上工作。它會引起衝突,而且……這不好。
目前的想法
這個想法是
bbtsrv02
用作“鏡像”伺服器。它將包含所有最新的實時程式碼。bbtsrv03
(新伺服器)將是我們的開發伺服器。我們將擁有一個master
包含實時程式碼的分支,每個開發人員將為每次更改分支他們自己的版本。但是……進一步的思考讓我得出結論,我們需要為每個開發人員設置一些虛擬主機,以便他們可以關閉主記憶體儲庫並從那里工作?
我在這方面沒有太多經驗,但我目前的計劃是對主 HDD 進行分區,並為我們每個人提供足夠的空間進行開發。
然後,我們將更改從我們的分支推送到主分支,然後將其“複製”到
bbtsrv02
並上傳。我當然希望,我可以製作一些 bash 腳本來為我做這件事?
我們這樣做的方式(YMMV)如下:
每個開發人員都在他們的台式機/筆記型電腦等上建構並進行基本程式碼測試。他們在本地使用 git 送出更改、分支等。當他們準備好推送時,他們會採取任何需要清理時間線的本地操作,然後推送.
推送到登台伺服器。我們的登台伺服器是我們生產伺服器的鏡像。我們在那裡進行負載測試、程式碼審查和最終檢查。
一旦我們通過了那個級別,我們就會推送到生產伺服器。
一種選擇是讓所有開發人員執行他們自己的 LAMP 伺服器(也許是 XAMPP)。這樣,開發人員就不會在做各種事情時互相踩踏。您的開發伺服器可能有 2 台虛擬主機 - 一台用於最新的“開發”網站,另一台用於最“穩定”的網站。
兩個站點都可以在 git 上。您的開發站點將是所有開發人員推送到的儲存庫。然後你可以設置一個 post-commit 掛鉤來將 stable 分支推送到 stable repo。您的穩定站點從穩定的儲存庫執行。
希望我沒有讓你感到困惑,但這個解決方案似乎是最好的