使用 Azure DevOps 部署时在 web.config 中设置版本名称

Set Release name in web.config when deploying with Azure DevOps

我们每晚都在构建应用程序并将其部署到 30 个独立的 Web 应用程序,我想知道每个 Web 应用程序当前使用的是哪个版本。例如“Release-12345”。

该值存在于 Release variables (MS doc) 的发布变量 Release.ReleaseName 中,但我不知道如何让我的管道使用该值。我现在的方法是将它写入 web.config,然后让应用程序按需读取该值。但如果有另一种更有效或“正确”的方法,我愿意接受任何事情。

这是“替换令牌”任务的经典用法,有many extensions in the marketplace, the most popular is Replace Tokens

您需要在web.config中添加一个占位符,例如:

<add key="Release_number" value="#{Release_number}#" />

在发布变量中,您需要添加一个值为 $(Release.ReleaseName) 的变量 Release_number,并在您的发布管道中添加 Replace Tokens 任务,配置为:

  • 目标文件:web.config
  • 令牌前缀:#{
  • 令牌后缀:}#

现在,该任务将在 web.config 文件中搜索与模式匹配的字符串,并将其替换为发布变量中的值。