GitVersion:Octopus Deploy对Nuget包版本拒绝了多个发布候选版本

时间:2016-05-10 06:46:17

标签: .net nuget octopus-deploy semantic-versioning gitversion

我正在使用GitVersion对我正在构建的.net产品进行语义版本控制。在特定版本的工作期间,我通常会将几个候选版本部署到“开发”和“暂存”环境中。

当我尝试通过Octopus Deploy进行部署时,发现所有候选版本共享相同的Nuget包版本。所以Octopus与第一个候选版本一起表现不错,但拒绝接受以下的RC。

使Nuget包版本的最佳方法是反映候选版本之间的差异,以便Octopus接受它们到Nuget商店?

其他详情:

  • 我正在使用GitHub Flow,因此只有master和feature分支和部署总是来自master。
  • 我的构建工具是TeamCity。

2 个答案:

答案 0 :(得分:1)

根据您的描述,您可能最好的选择是切换到使用持续部署模式。

这里记录在案:

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

这将基本上将GitVersion切换为为存储库中的每个提交创建新的唯一版本号的模式。然后,您可以在特定点进行标记,以便向前移动版本号。 GitVersion GitHub存储库本身使用了相同的技术。

如果需要,可以在特定分支上应用此配置。

答案 1 :(得分:0)

我不知道你在建设项目的方式和地点。但是您应该将您的软件包版本命名为以下选项。编号为nuget pakage的最大版本将是最新的Octopus版本。如果使用不同的代码存储库分支打包,则如果版本号相同,则应该失败。您应该添加分支名称" 1.0.0.0-dev" ," 1.0.0.0-master" " 1.0.0.0修复程序"在版本号的末尾。

TFS构建模板(内部版本号格式) $(日期:yy.MMdd.HH.mm)

TFS logger构建模板(版本或版本种子文件路径) 0.0.J.B-修复

nugetter $ {BUILD_YEAR} $ {BUILD_MONTH} $ {BUILD_DAY} $ {BUILDS_TODAY}

相关问题