我正在使用GitVersion对我正在构建的.net产品进行语义版本控制。在特定版本的工作期间,我通常会将几个候选版本部署到“开发”和“暂存”环境中。
当我尝试通过Octopus Deploy进行部署时,发现所有候选版本共享相同的Nuget包版本。所以Octopus与第一个候选版本一起表现不错,但拒绝接受以下的RC。
使Nuget包版本的最佳方法是反映候选版本之间的差异,以便Octopus接受它们到Nuget商店?
其他详情:
答案 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}