在 Azure DevOps 管道中编写 Azure CLI 脚本时,您可以访问 serviceprincpal id、密钥和tenantid。有没有办法在 Azure Powershell 任务中获取此信息?
Lan*_*SFT 14
addSpnToEnvironment将您选择的 Azure 终结点的服务主体 ID 和密钥添加到脚本上下文的输入是仅在 Azure ClI Task 中可用的选项,但在Azure Powershell Task 中不可用。
有没有办法在 Azure Powershell 任务中获取此信息?
作为替代解决方法,我们可以在 中定义作业范围的变量Azure ClI Task,请查看此文档。
测试步骤:
1.使用最新的Azure CLI task 2.0-preview并选择Powershell类型。尝试像这样的内联脚本:
Write-Host "##vso[task.setvariable variable=SpId;]$env:servicePrincipalId"
Write-Host "##vso[task.setvariable variable=SpKey;]$env:servicePrincipalKey"
Write-Host "##vso[task.setvariable variable=TenantId;]$env:tenantId"
Write-Host "##vso[task.setvariable variable=TestVar;]JustForTest"
Run Code Online (Sandbox Code Playgroud)
Azure Powershell task2.然后添加一项Azure CLI Task进行测试:
Write-Host $env:SpId
Write-Host $env:SpKey
Write-Host $env:TenantId
Write-Host $env:TestVar
Run Code Online (Sandbox Code Playgroud)
3.输出:
Write-Host "##vso[task.setvariable variable=xxx]xxx"因此,如果您使用(Powershell)或(Batch)定义作业范围的变量echo "##vso[task.setvariable variable=xxx]xxx",则可以使用类似的方法$env:VariableName来访问信息。日志***中是因为这些是 Azure Devops 投射的秘密,所以它们被屏蔽了。
| 归档时间: |
|
| 查看次数: |
9301 次 |
| 最近记录: |