Apache-2.2

在 Ubuntu 下使用 Git 管理網站

  • September 19, 2011

所以我們剛剛收到了我們的新伺服器,它將僅用於網站開發和版本控制。

我已經安裝了 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。您的穩定站點從穩定的儲存庫執行。

希望我沒有讓你感到困惑,但這個解決方案似乎是最好的

引用自:https://serverfault.com/questions/313027