秘密变量使用 2048 位 RSA 密钥进行静态加密。它们会自动从构建或发布的任何日志输出中屏蔽。
与普通变量不同,它们不会自动解密为脚本的环境变量。您需要显式映射秘密变量。
每个需要使用密钥作为环境变量的任务都会重新映射。如果要使用mySecret
从脚本调用的秘密变量,请使用Environment
脚本任务的输入变量部分。将环境变量名称设置为MYSECRET
,并将值设置为$(mySecret)
。
详情请查看此官方文档。另外,你可以参考这个有类似问题的案例。
更新:
以下示例显示如何使用mySecret
在 PowerShell 脚本中调用的秘密变量。
variables:
GLOBAL_MYSECRET: $(mySecret) # this will not work because the variable needs to be mapped as env
steps:
- powershell: |
# Using an input-macro:
Write-Host "This works: $(mySecret)"
# Using the mapped env var:
Write-Host "This works: $env:MY_MAPPED_ENV_VAR" # Recommended
env:
MY_MAPPED_ENV_VAR: $(mySecret) # right way to map to an env variable
您还可以使用variables
定义映射秘密变量。此示例说明如何在 Azure 文件复制任务中$(vmsUser)
使用机密变量。$(vmsAdminPass)
variables:
VMS_USER: $(vmsUser)
VMS_PASS: $(vmsAdminPass)
steps:
- task: AzureFileCopy@4
inputs:
SourcePath: 'my/path'
azureSubscription: 'my-subscription'
Destination: 'AzureVMs'
storage: 'my-storage'
resourceGroup: 'my-rg'
vmsAdminUserName: $(VMS_USER)
vmsAdminPassword: $(VMS_PASS)
例如,请参阅此。