【问题标题】:GitVersion: Multiple release candidates rejected by Octopus Deploy over Nuget package versionGitVersion:Octopus Deploy 在 Nuget 包版本上拒绝了多个候选版本
【发布时间】:2016-09-04 23:50:59
【问题描述】:

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

当我尝试通过Octopus Deploy 进行部署时,结果发现所有候选版本共享相同的 Nuget 包版本。因此,Octopus 与第一个候选版本配合得很好,但拒绝接受以下 RC。

让 Nuget 包版本反映候选发布版本之间的差异以便 Octopus 将它们接受到其 Nuget 商店的最佳方法是什么?

其他细节:

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

【问题讨论】:

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


    【解决方案1】:

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

    这在此处记录:

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

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

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

    【讨论】:

      【解决方案2】:

      我不知道您是如何以及在何处构建项目的。但是您应该像以下选项一样命名您的包版本控制。编号为 nuget 包的最大版本将是最新的 Octopus 版本。如果您使用不同的代码存储库分支打包,如果版本号相同,您应该会失败。您应该在版本号末尾添加分支名称“1.0.0.0-dev”、“1.0.0.0-master”、“1.0.0.0-hotfix”。

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

      for TFS nugetter 构建模板(版本或版本种子文件路径) 0.0.J.B-Hotfix

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

      【讨论】:

        猜你喜欢
        • 2016-01-14
        • 2016-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多