在 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 task
2.然后添加一项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 次 |
最近记录: |