我一直在研究並試圖找出最佳的分支和部署策略來完成以下要求。也許我錯過了一些東西,但它比看起來更復雜。理想情況下,我們只有一個永久分支,'主',可以有特定的提交標記爲將發佈標記爲生產。如何使用TeamCity和Octopus實現這種分支和部署策略
我們目前的策略是基於Git Flow並擁有永久分支機構的「主人」(只有發佈到生產)和「開發」。使用多個永久性分支機構模型變得複雜的主要原因是「促進」從分期環境到生產的相同構建的概念。目前,這需要在單獨的源代碼分支中完成(部署到分段來自「開發」,部署到來自「主」的產品)。
工具:的Git(VSTS),TeamCity的,八達通部署
要求(功能和修補程序的生命週期):
- 所有的代碼通過引入請求審查(通過分支政策執行)
- 將所有代碼部署到分段環境進行測試
- 我們可以快速返回到deplo代碼的任何快照此前YED
- 如果測試成功,那麼相同的生成可以「提升」從我們的分段環境的生產(無需重新建立)
特性隨時間累積的推出,以生產爲一個單一的前發佈。修補程序必須能夠通過,而不會陷入「全部或全部」下一個常規發行版中。
我喜歡有一個帶有標籤的永久分支的想法(re:master/develop split是多餘的,http://endoflineblog.com/gitflow-considered-harmful),但是擁有額外的永久分支可以更好地部署到八達通的不同生命週期/版本(功能和修補程序) 。
我一直在摔跤如何最好地把這個關閉,我可能會過度複雜的事情。任何反饋意見。
你的問題實際上是什麼?你已經描述了基礎設施和一些一般的想法,但是在你的文本中沒有問題,也沒有答案可以給出(討論和自以爲是的評論實際上不是答案)。 – cyberskunk
對不起。我更新了標題。我試圖找出如何使用列出的工具完成列出的要求。 – FahnzMode
這個問題太寬了。這些是2個自動化工具和一個SCM,他們幾乎可以完成任何事情。你能提供一個設計/實踐,我們看看我們是否能提供改進它的想法?這可能會更容易。 –