GitVersion:多个候选版本被Octopus Deploy拒绝,而不是Nuget包版本



我正在使用GitVersion对我正在构建的.net产品进行语义版本控制。在开发特定版本的过程中,我通常会将几个候选版本部署到"dev"one_answers"staging"环境中。

当我尝试通过OctopusDeploy进行部署时,发现所有候选版本都共享相同的Nuget包版本。因此,章鱼对第一个发布的候选者表现得很好,但拒绝接受以下RC。

让Nuget软件包版本反映候选版本之间的差异,以便八达通接受它们进入其Nuget商店的最佳方法是什么?

其他详细信息:

  • 我使用GitHub Flow,所以只有master和feature分支和部署总是来自master
  • 我的构建工具是TeamCity

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

这里记录了这一点:

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

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

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

我不知道您是如何以及在哪里构建项目的。但是您应该像以下选项一样命名您的包版本控制。编号为nuget pakage的最大版本将是最新发布的章鱼。如果使用不同的代码存储库分支进行打包,那么如果版本号相同,则应该失败。您应该在版本号的末尾添加分支名称"1.0.0.0-dev"、"1.0.0.0-master"one_answers"1.0.0.0-hotfix"。

对于TFS生成模板(内部版本号格式)$(日期:年月日时分)

对于TFS nugetter构建模板(版本或版本种子文件路径)0.0.J.B-修补程序

用于Jenkins版本号插件${BUILD_YEAR}${BUILD_MONTH}${BUILD_DAY}${BUILDS_TODAY}

最新更新