我正在尝试访问秘密变量以将其传递给另一个脚本。
我希望管道中的以下代码能够打印出Value,但它会在没有任何秘密变量值的情况下打印出一些文本“ xxx”
echo xxx
管道代码段
steps:
- bash: echo This script could use $SYSTEM_ACCESSTOKEN
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
答案 0 :(得分:3)
如果要访问秘密变量,可以将其打印到文件中。检查以下示例:
steps:
- powershell: |
$env:var1 | Out-File C:\Users\xxx\Desktop\Newfolder\debug.txt
displayName: 'PowerShell Script'
env:
var1: $(System.AccessToken)
但是System.Accesstoken
是为服务标识“ Project Collection Build Service(帐户)”生成的PAT令牌,不需要验证System.AccessToken
的值。另外,如果要将System.AccessToken
的值打印到文件中,则需要在代理作业中检查Allow scripts to access the OAuth token
:
答案 1 :(得分:1)
这是因为std::forward_list
是一个秘密。如果您对变量进行操作(这不是秘密),那么您将能够看到价值。
答案 2 :(得分:0)
更新:
如果我将机密值保存到文件中并发布该文件,因为在明文中可以看到工件机密。
与同事交谈后,我意识到日志中的所有文本如果包含秘密值,都将被屏蔽。
看看我是否有2个变量也很有趣。
OPEN_VAR='something' # No Secret
和
SECRET_VAR='something' # Values same as above but Secret
如果我打印$ OPEN_VAR;是否会屏蔽值,因为“ something”也是“ SECRET_VAR”的值