如何在发布定义变量中传递 secureObject?

How to pass a secureObject in a release definition variable?

在发布定义变量中,您可以定义一个字符串并通过挂锁将其标记为机密,然后在脚本参数中使用 convert-tosecurestring 使其成为 secureString。

但是定义对象和 secureObject 的语法是什么?文档中似乎没有提及。

VSTS build/release 变量不支持对象或 secureObject。

您可以直接在build/release任务中使用安全变量(变量将被解密),因此您只需要在build/release任务中根据您的要求转换为对象(例如PowerShell) ).

将 JSON 字符串存储到安全变量,然后将其转换为 JSON 对象并修改的简单示例。

  1. 在构建定义中添加安全变量(对象:'{"name": "mynodeDefinition"}'
  2. 将 PowerShell 任务添加到构建定义(参数:-pass $(obj);

脚本:

param(
[string]$pass)
$bodyContent=$pass| ConvertFrom-Json
Write-Host $bodyContent
$bodyContent.Name="NewValue"
Write-Host $bodyContent

结果: