我们使用TFS-online但是有一个本地构建服务器,在我们设置时默认为两个构建代理。我们的应用程序设置为在办理登机手续时持续构建。
我们发现在构建包时,两个代理有自己独立的构建号序列,所以当agent1运行时,它会将我们的包保存到NuGet,如1.2.3.37032,然后agent2运行它会创建一个包1.2.3.29321
因此,我们的部署服务器在更新应用程序时选择了较旧的版本。
我意识到我们也应该增加版本号,例如1.2.4每次也是如此,但对于每一次单程登记而言都相当费力。
现在我们必须禁用一个构建代理来防止这种情况 - 是否有更好的方法来执行此操作,或者确保构建号是顺序的?
答案 0 :(得分:1)
您可以使用内部版本号模板来确保内部版本号是连续的。使用您在“构建定义”中指定的内部版本号模板设置内部版本号。编辑构建定义时,请转到“处理”选项卡 - >“高级” - >“构建数字格式”字段,然后您可以自定义构建号的外观。
使用格式字符串如下:
。<强> $(BuildDefinitionName)_ 强> 1.2的 $(DAYOFYEAR)$(启:.R)强>
预览:Project_1.2.11.16
$(BuildDefinitionName)构建定义的名称
1.2 主要版本,由于升级频率较低,您可以手动更改。
$(DayofYear)创建构建的年份
$(版本:.r) 16所有版本的数字部分的自动递增值,这些值与内部版本号匹配且至少包含指定数字的数量(当天的下一个版本)将是17,依此类推)
答案 1 :(得分:0)
事实证明,最简单的解决方案是将版本控制方案从三部分改为两部分,例如, 1.2.*
代替1.2.3.*
- 感谢Octopus Deploy
这意味着将以1.2.{build}.{release}
的形式创建构建。 {build}每天递增,{release}根据当前日期和时间递增。时间。
所以现在构建看起来像这样:1.2.5733.12345