2010-06-16 56 views
1

我爲一家機構工作,該機構一直負責與其他機構一起維護客戶的.net 3.5網站多年。客戶在相當臨時的基礎上爲兩個機構開展工作。由2家公司維護的網站的部署過程

該網站是相當古老,並具有相匹配的結構和部署過程。該網站設置爲開發人員擁有本地網站副本。有一個臨時環境,客戶反饋和批准發生,然後是現場環境。有很多情況下,一個機構的工作將在分級環境中等待審批,而其他機構的變更需要通過分級,審批和部署來生活,而不會影響原始變更。大多數情況下,我們都會擺脫困境,但這並非理想,因爲並非所有的衝突都可以得到解決。

直到最近,我們仍然在使用Sourcesafe,但已經轉移到Subversion,並且遇到了許多覆蓋工作的場景。這顯然不是Subversion的錯,相反,將Sourcesafe中的項目和文件鎖定爲來自兩個機構的開發人員的一個很好的指示,表明有人正在處理該項目或文件。之前的過程是,你從sourcesafe中檢出了一個文件,並保存它直到更改生效(承認這是一個垃圾過程,因此希望擺脫sourcesafe和這樣一個模型)

問題是,即使我們知道我們現在做的方式很糟糕,但我在如何重組整個站點和部署過程以使其「更好」方面面臨一些損失。我們思考的一些想法是:顛覆

  • 獨立開發,測試和現場分支,所以我們需要承諾和部署之前建立相應的分支(真的不知道如何使這項工作)
  • 單個存儲庫對於兩個機構而言,每個機構都有獨立的分期環境。臨時環境則可以反映分配給每家機構的變化
  • 臨時網站的每個分支

的下一個步驟,或從SO社區類似的情況和解決方案的例子有什麼建議一個單獨的實例,將不勝感激!

感謝

喬爾

回答

0

我會建議:

  • 使用git,它真的很爲工作如何合併更改良好。
  • 對於每家公司都有獨立的登臺環境,然後,一旦變更獲得批准,就可以合併(愉快地)進入最終的登臺環境,這個登臺環境只存在於幫助排序我們的合併問題,然後推動生活。
  • 還要確保兩個機構都知道誰在做什麼,並試圖等待另一個機構完成應用程序的第X部分,直到其他機構完成,最終這是最好的解決方案,有點溝通。
+0

感謝您的評論。我之前沒有使用git,所以一定會看看它。 我喜歡單獨登臺環境的想法,但您如何看待融入最終登臺環境的過程? (或我們如何使用)顛覆的設置是否需要從使用幹線改變? – swingdoctor 2010-06-17 09:27:08

+0

對不起,從來沒有使用過顛覆,但我知道它很受歡迎。我看到最終的臨時區域被一方當事人「舉行」,同時仍然允許單獨的測試區域進行測試。 – thomasfedb 2010-06-18 15:14:02

+0

我認爲我們要與每個公司分開的測試環境以及爲每個公司分開的Subversion存儲庫。然後,我們將有一個「預生活」環境,用於在部署現場之前集成和測試更改。還會有一個主要的Subversion版本庫,當我們發送一些內容時,我們會將它合併到一起...... subversion處理分支的合併很好。 我們會試試這個,但從理論上講,這聽起來像是一個有效的方法,可以解決很多問題,即使不是全部,我們的問題 – swingdoctor 2010-06-22 15:05:37