具有默认释放变量的VSTS JSON变量替换

Rab*_*820 6 json appsettings azure-devops azure-pipelines-release-pipeline

TL; DR

有没有我可以用任何方式JSON变量替换默认释放变量在VSTS?

描述

使用VSTS,我可以使用JSON变量替换appsettings.json在发布时设置文件中的值.例如,使用如下所示的appsettings.json文件:

{    
  "ConnectionStrings": {
    "DM_ADJ": "placeholder",
    "DM_SALES": "placeholder"
  },
  // And so on.  Placeholders get replaced
}
Run Code Online (Sandbox Code Playgroud)

我可以在VSTS中定义一个Release变量ConnectionStrings.DM_ADJ,并且我在那里提供的值将"placeholder"在相应的JSON行中替换.

现在,我还想在我的应用程序配置中使用一些默认的Release变量.例如,有一些名为Release.DefinitionName和的默认Release变量Release.DefinitionId.我认为我可以将它们替换为appsettings.json如下所示的配置部分,但不幸的是,当Release完成时,"placeholder"字符串不会被替换.我错过了什么吗?

{
  "Release": {
    "DefinitionName": "placeholder",
    "DefinitionId": "placeholder",
  }
  // And so on.  Placeholders do not get replaced
}
Run Code Online (Sandbox Code Playgroud)

Edd*_*SFT 9

这是一种预期的行为,因为它排除了构建/发布的系统定义变量: 在此输入图像描述

如果要在json文件中使用系统定义变量,请创建自定义变量并将值设置为系统定义变量,如下所示,而不是直接使用系统定义变量: 在此输入图像描述


小智 6

您需要指定要更改值的 json 文件

发布管道

那么您只需要使用要更改的路径创建一个变量。例如我想更改属性版本

JSON文件

所以,我需要用这个名字创建一个变量:

应用程序版本

变量