Azure管道-递增内部版本号并在Web应用程序中显示

时间:2018-12-12 03:01:35

标签: asp.net-core build azure-devops

我在Azure DevOps中使用以下简单的构建管道,并将发行版部署到临时插槽。

enter image description here

我想要一个构建修订/版本字符串,并且该字符串是自动递增的。然后,我想在我的Web应用程序中显示它,以便我可以判断该软件的哪个版本正在生产中。

当前,我显示.csproj文件中的版本字符串。

<Version>1.1.4.7</Version>

然后使用以下代码显示在网页上:

Version: @typeof(Startup).Assembly.GetName().Version.ToString()

如果我可以更新现有的版本字符串,那将是不错的选择,但我愿意更改为在CI流程中最容易集成的版本。

2 个答案:

答案 0 :(得分:3)

.Net Core世界中的版本已得到简化。

编辑您的csproj并进行如下修改:

<PropertyGroup>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' == '' ">1.0.0.0</Version>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' != '' ">$(BUILD_BUILDNUMBER)</Version>
</PropertyGroup>

如果您的文件没有版本节点,请添加以上内容。

以上设置将意味着本地调试将为您提供1.0.0.0的版本,并且在这种情况下,如果您在非Azure DevOps环境中进行构建,则最终也将获得1.0.0.0版本。 $(BUILD_BUILDNUMBER)是由Team Build设置的环境变量,将在VSTS或TFS生成时进行更新。

.Net版本的格式应为[major]。[minor]。[build]。[revision],每个段的范围是0到65000之间的数字。您可以在中配置内部版本号格式>选项标签,请参见here有关格式的更多信息。有关配置版本的有用步骤,请参见here

答案 1 :(得分:0)

您应该使用Azure DevOps Pipelines版本(也称为Azure Pipelines版本),而不要使用Azure DevOps Pipelines版本(也称为Azure Pipelines版本)。默认情况下,Azure Pipelines发布会自动增加您的发布。

Azure Pipelines构建默认情况下没有自动版本编号。因为增加版本后应该在发布阶段完成,因为构建应该只涉及持续的集成,而不能用作对要发布的构建进行版本控制。

这是Azure Pipelines版本的官方文档,可自动增加您的版本: https://docs.microsoft.com/en-us/azure/devops/pipelines/release/?view=vsts#numbering