2011-09-05 100 views
0

我正在與其他人一起開發一個Web門戶的項目。我的問題與網絡編程的問題沒有任何關係,但我需要一些關於如何有效組織這樣的項目的投入。分佈式Web開發策略

目前,我們的Web開發基礎架構包含兩個服務器:一個開發工具和一個實時系統。我們致力於開發系統並測試我們的新功能,然後將所有內容移至實時系統。因此,我認爲,我們使用git,但是以一種相當無意的方式。每個人都在使用同一本地存儲庫,以便可以立即在服務器上查看更改。至關重要的是,我們可以看到,我們正在做什麼,因爲我們只有一個開發服務器,所以我們不能擁有自己的本地存儲庫。完整的功能被推送到全局存儲庫,以便我們可以將它們拖到實時系統。現在,當多個人同時在門戶網站上工作時,問題自然會發生。由於我們使用的是不同的分支,因此代碼不會被混淆,我們正在處理的文件並不總是最新的。此外,如果有人切換到他正在工作的分支,我必須切換回來,以便我可以看到,我目前正在做什麼。所有這些切換分支和不是最新的代碼根本不好笑。

我希望你明白問題所在。我看到爲項目中的每個人設置本地服務器的唯一解決方案,這似乎不是一個理想的解決方案,因爲有太多因素使得這很困難(例如幾個特殊的服務器插件)。有沒有人知道更好的方法來克服這些問題,或者可能是一個最佳做法?

回答

2

我真的,真的會建議試圖找到一種方法來在所有開發人員自己的機器上安裝服務器。

這是迄今爲止最理想的解決方案。

不過,我能想到的一個替代的:

你可以嘗試在服務器上建立多個工作目錄。將它們配置爲子域或虛擬主機等。

這樣,每個開發人員都有自己的工作區,但開發仍然會發生在服務器上,其他資源可以共享。

但是,這並不能解決所有可能出現的問題,但也許它會作爲一種臨時措施,直到您找到一種方法來爲系統設置每個開發人員。

作爲在每個開發人員自己的機器上設置開發系統的想法,您可以考慮創建開發服務器的虛擬機映像。通過這種方式,您可以簡單地複製虛擬機映像,所有設置已經完成,開發人員只需要運行它。

1

我讓開發人員運行自己的本地服務器進行開發,然後在完成任務後將代碼提交到存儲庫。我們每週都會將該代碼導出到開發服務器(與生產服務器相同)並測試其中的日光,以準備推送。我們使用分支機構的版本號,所以我們所有的開發人員都在同一分支上工作,直到完成並準備就緒。在極少數情況下,更新與另一位開發人員正在做的事情相沖突,我們只是合併文件更改。

這個過程讓所有參與者都變得簡單。