2016-05-10 66 views
1

我使用GitVersion對我正在構建的.net產品進行語義版本控制。在特定版本的工作中,我通常會將幾個候選版本部署到「dev」和「stage」環境。GitVersion:多個候選版本被Octopus拒絕在Nuget套件版本上部署版本

當我嘗試通過Octopus Deploy進行部署時,事實證明所有發佈候選版本都共享相同的Nuget包版本。所以八達通與第一個發佈候選人很好,但拒絕接受以下RC。

什麼是使Nuget包版本的最佳方式反映發佈候選人之間的差異,以便八達通接受他們到它的Nuget商店?

其他細節:

  • 我使用GitHub的流量使只有船長和功能分支和部署,始終從主。
  • 我的構建工具是TeamCity。

回答

0

我不知道如何以及在哪裏構建您的項目。但是你應該將你的軟件包版本命名爲以下選項。編號爲nuget pakage的最大版本將是最新的Octopus版本。如果您使用不同的代碼庫分支打包,則如果版本號相同,則應該失敗。您應該在版本號的末尾添加分支名稱「1.0.0.0-dev」,「1.0.0.0-master」「1.0.0.0-hotfix」。

TFS生成模板(版本號格式) $(日期:yy.MMdd.HH.mm)

TFS nugetter構建模板(版本或版本種子文件路徑) 0.0。

Jenkins version number plugin $ {} BUILD_YEAR $ {} BUILD_MONTH $ {} BUILD_DAY $ {} BUILDS_TODAY

1

可能是你最好的選擇,基於JB-修復您的描述,將切換到使用連續部署模式。

這是記錄在這裏:

http://gitversion.readthedocs.io/en/latest/more-info/incrementing-per-commit/

這基本上切換GitVersion到,創建一個新的,唯一的版本號,每個存儲庫中的承諾的模式。然後,您可以在特定點進行標記,以便向前移動版本號。 GitVersion GitHub存儲庫本身也使用了相同的技術。

如果需要,此配置可應用於特定分支。