2010-05-01 116 views
3

在我最後一個Drupal項目中,我們有5個人在編寫和安裝新模塊,我們的客戶端提供內容的同一類型。由於我們選擇只有一臺服務器以簡化操作,因此有時候很多人需要寫入像style.css或page.tpl.php一樣的文件,或者某人破解代碼會阻止其他人使用團隊的Drupal開發工作流程

有沒有與Drupal合作的團隊的最佳實踐?如何利用代碼存儲庫或沙箱?

回答

2

單個服務器可能會給你「簡單」,但它給你的東西,就像你所經歷的那樣,是完全混亂的 - 如果它不會導致不愉快和難以置信的效果,重現,難以修復的崩潰。不要滿足於「生產」服務器以外的任何東西(客戶可以在其中工作 - 僅限於內容 - 如果他們喜歡小風險;-)和「升級」服務器(開發團隊中的任何內容經過一段時間的測試並嘗試推廣到開發之前,這是在安靜且理想的預先安排時間完成的)。

二,使用版本控制系統一些類。其中一個重要的小於使用一個在所有:svn很受歡迎,簡單的,最新的時尚(優秀原因)分佈的如hggit,微軟等在該領域的商業產品等

的要點是,每當有人更新文件時,他們都會在自己的VCS客戶端上這樣做。當一組連貫一致的變化是正確的,它被推送到VC​​S,並且VCS診斷並指出任何「衝突」(兩個開發者可能做出矛盾變化的地方),因此當前推送的開發者負責編輯文件並且在衝突被允許通過之前修復衝突。只有這樣,「最新版本」才允許進入分期系統進行更徹底的(和理想的自動化! - )測試(或者更好的是,「連續構建」系統)。

基本上,應該有兩層針對您觀察到的衝突的防禦,而且您似乎也沒有部署過。然而,如果他們被迫在一個挑剔的環境下被迫,我想我會不情願地選擇生產服務器和登臺服務器之間的區別 - 開發仍然是混亂的(與任何VCS的簡單穩定性相比,這是無法容忍的! )但至少它不會直接傷害實際的服務系統;-)。

+0

不錯的答案,作爲Drupal項目的架構師,我想補充一點,應該真正與Git一起使用。我們一直在使用Subversion,它已經幾次將我們踢到了一邊。 Drupal.org本身正在轉向使用git,因此這對開發人員來說也是一個很好的舉措。 – coderintherye 2010-05-02 02:16:59

+0

是的,很好的答案。這幾乎是我在Drupal站點上合作的方式。我們目前使用Subversion,它很好地工作。 過去我們還沒有使用臨時服務器。相反,我們只是使用與生產服務器(相同模塊,相同數據庫)緊密匹配的Drupal安裝在我們自己的機器上開發。我們不時地從生產服務器獲取sql轉儲,以保持內容與我們自己的安裝同步。 – 2010-05-02 10:22:36

+1

在我們的案例中,我們發現每個開發人員都有他/她自己的服務器很有用。使用XAMPP和MAMP很容易。這樣開發人員就可以做到暫時破壞Drupal的事情,而不會對其他人造成任何問題。 當代碼看起來很穩定時,它將被檢入到SubVersion中並在登臺服務器上進行測試(與生產類似)。 這聽起來像是一個額外的步驟,還有一層額外的複雜性,但我們確實發現它運作良好。 – Graham 2010-05-03 14:16:20