for*_*dya 5 azure-devops azure-pipelines
我正在尝试访问秘密变量以将其传递给另一个脚本。
我希望管道中的以下代码能够打印 Value,但它会打印一些文本“xxx”,无论秘密变量的值如何
echo xxx
Run Code Online (Sandbox Code Playgroud)
管道片段
steps:
- bash: echo This script could use $SYSTEM_ACCESSTOKEN
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
Run Code Online (Sandbox Code Playgroud)
Cec*_*SFT 10
如果您想访问秘密变量,可以将其打印到文件中。检查下面的示例:
\n\nsteps:\n- powershell: |\n $env:var1 | Out-File C:\\Users\\xxx\\Desktop\\Newfolder\\debug.txt\n\n\n displayName: \'PowerShell Script\'\n env:\n var1: $(System.AccessToken)\nRun Code Online (Sandbox Code Playgroud)\n\n但System.Accesstoken它是为服务标识 \xe2\x80\x9cProject Collection Build Service (account)\xe2\x80\x9d 生成的 PAT 令牌,不需要验证 的值System.AccessToken。另外,如果要将 的值打印System.AccessToken到文件中,则需要Allow scripts to access the OAuth token在代理作业中检查:
Azure管道将扫描输出并掩盖秘密,您可以简单地将其分割并分成两部分打印。这是一个 bash 示例:
echo "${MY_SECRET:0:10}" # Print the first 10 characters
echo "${MY_SECRET:10:100}" # Print character 11 - 100
Run Code Online (Sandbox Code Playgroud)
当然,您应该仅出于调试目的而执行此操作,而不应将其留在管道中。
| 归档时间: |
|
| 查看次数: |
25180 次 |
| 最近记录: |