簡體   English   中英

使用git分支進行持續集成

[英]Continuous integration using git branches

對於每個故事,我們在Git中使用一個分支。 這在本地效果很好,但是在完成功能時提出了一個問題,因為我們(當前)僅將master推送到我們的測試環境(IIS)。 請注意,我們在TFS旁邊使用Git,因為TFS仍然是我們的主要VCS。

我們正在使用TeamCity建立我們的所有分支。 您如何在不污染主分支的情況下在測試機上測試和查看代碼? 為每個分支創建多個IIS應用程序? 這可以是自動化的,但似乎是人為的。

為了澄清,我們需要能夠在我們的測試環境中同時測試不同的版本。

總而言之,我已經在IIS中創建了多個應用程序,一個用於團隊中的每個開發人員(開發和測試),然后一個用於測試目的的3個插槽。

在teamcity中,我們針對每個分支運行構建,但是不再自動部署。 原因是我們允許拉動構建,但不強制升級。

在功能分支上完成所有開發工作后,我們將合並到master中,然后立即與TFS同步,以便我們的master分支處於同步狀態。 這使我們可以將每個變更集的每個功能合並到下一階段。

我認為您正在尋找--dry-run開關:

-n,-干運行
除了實際發送更新外,執行所有其他操作。

git push --dry-run ...

請注意,同一應用程序具有多個測試版本可能會造成混淆!

您可以采用類似GitHub Flow的方法

  • 每個功能一個分支
  • 功能完成后,將其部署到測試環境
  • 如果一切正常,您可以將功能合並到母版

如果這對您來說不是可行的解決方案,那么我看到的唯一選擇是部署多個IIS應用程序。 使用WebDeploy之類的工具可以相對輕松地完成此操作,但是您必須考慮“清除策略”以刪除過時的Web應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM