2017-06-23 35 views
0

我們使用Bitbucket存儲和Jenkins部署網頁集。在我們的案例中,master分支是生產分支,還有一個承載QA數據的分段分支。有多個項目同時進行,因此我們無法從暫存分支到主分支提出完整的請求,因爲還有其他更改。再次將網頁移至生產時,由於分段和生產具有不同的ID,所以存在特定於生產的提交以將網頁html(角度)id更改爲生產值。自動合併爲bitbucket中的不同分支

我們正在使用從主分支分支出來的單個特徵分支來創建一個新項目。在我們的場景中,staging應該具有所有正在開發的功能,因爲它代表了常見的測試環境。所開發的每個功能都是迷你網站,因此彼此獨立。但我們應該能夠將它們單獨部署到生產環境中,而所有應該同時存在以供各個團隊進行測試。

我試着創建一個從功能分支到分段的pull請求,但是這會將主分支中完成的生產特定的提交帶到其他頁面中的分段分支。總之,這是一個網站的方法。還有更多這些並行進行。 enter image description here

我覺得我不是這樣做的正確方法。如果有更好的方法做到這一點,請讓我知道。有沒有一種方法可以將對功能分支所做的任何更改自動合併到分段分支中?

回答

0

我建議以下git的流動分支模型:

http://nvie.com/posts/a-successful-git-branching-model/

有兩個長壽命的分支:法師和發展,其中發展中分出法師。

功能是在Develop的功能分支上開發的。一旦項目準備好發佈,將功能分支合併到Develop分支中,然後立即創建發佈分支。發佈分支只應包含錯誤修復。

當發佈分支準備開始生產時,從發佈版合併到主發行版,並從發佈版發回發展版。當Release分支合併到Master中時,標記主分支。確保您使用no-ff選項,以便提交被記錄。

enter image description here

+0

在我們的場景,分期(開發),應爲一切都在發展,因爲它代表了通用的測試環境的功能。所開發的每個功能都是迷你網站,因此彼此獨立。但我們應該能夠將它們單獨部署到生產環境中,而所有應該同時存在以供各個團隊進行測試。 –

+0

,因此您在具有集成的所有功能的環境中進行測試,無論該功能是否用於即將發佈的版本。然後如果測試通過,您可以將其中一項功能發佈到生產環境中。這對我來說似乎有風險,因爲您在投入生產之前並未單獨測試版本。在某種意義上是 – pixelbits

+0

是的。但由於這些功能是100%獨立的,因此風險很低。沒有任何兩個功能之間的共享。 (他們是自給自足的網站)。所以一個功能不會破壞另一個功能。基本上這是角JS的前端項目。在任何時候,我們都有很多並行項目正在進行,因此不可能爲每個站點提供自己的測試服務器。因此我們正在同一服務器上測試所有內容,同時我們需要在生產時部署一項功能。 –