gpt4 book ai didi

Azure Devops YAML - AzureKeyVault 任务不接受变量作为 keyvaultname

转载 作者:行者123 更新时间:2023-12-03 05:22:20 25 4
gpt4 key购买 nike

我在执行 AzureKeyVault 任务时做错了什么?查看任务运行时的日志,似乎使用变量作为字符串而不是变量的值?然后该任务似乎什么也没做,直到连接 ECONNREFUSED 127.0.0.1:443 超时。

在任务1中我设置这个变量。我在此之后创建了一个任务,我可以在其中写入托管变量值,如下所示:“$($env:KVNAME)”。

但是在我的 azurekeyvault 任务中,我使用该变量作为 KeyVaultName:就像我在任务 2 中一样,但随后遇到了这个问题;该任务将变量视为字符串,我通过任务创建的日志知道这一点:“key Vault name: $($env:KVNAME)”

最初我认为 ##vso... 变量设置无法正常工作,这就是为什么我创建了 task2 来确保它正常工作。

这是我的 YAML:

jobs:
- deployment: mydeployment
displayName: "testingstuff"
pool:
vmImage: "windows-2022"
workspace:
clean: all
environment: testing
strategy:
runOnce:
deploy:
steps:
- task: AzurePowerShell@5
displayName: "write global variable"
enabled: true
inputs:
azureSubscription: "sm_Pay-As-You-Go"
ScriptType: InlineScript
Inline: |
$kv = "mykeyvaultname"
Write-Host "##vso[task.setvariable variable=KVNAME;]$kv"
azurePowerShellVersion: LatestVersion

- task: AzurePowerShell@5
displayName: "print variable value"
enabled: true
inputs:
azureSubscription: "sm_Pay-As-You-Go"
ScriptType: InlineScript
Inline: |
Write-Host "variable: $($env:KVNAME)" #this displays the variable value completely fine in the pipeline logs
azurePowerShellVersion: LatestVersion

- task: AzureKeyVault@2
displayName: "Fetch keyvault secrets"
enabled: true
inputs:
azureSubscription: "sm_Pay-As-You-Go"
KeyVaultName: $($env:KVNAME) #pipeline logs suggest that the task is treating this variable like a string, logs: "key vault name: $($env:KVNAME)"
SecretsFilter: SqlConnectionString, StorageConnectionString
RunAsPreJob: false

最佳答案

您尝试使用的格式:

KeyVaultName: $($env:KVNAME)

用于访问variables within a powershell script .

但在 AzureKeyVault 任务的参数中,这是管道 yaml,您需要遵循 pipeline expressions 的格式。 :

KeyVaultName: $(KVNAME)

请注意,这是运行时语法,这意味着在任务运行之前不会对其进行求值;这意味着您在之前的任务中设置的变量可用。还有编译时语法,即 ${{ Variables.KVNAME }} ,它将在编译管道时进行评估;但这对你来说没有用,因为当时该变量不存在。

关于Azure Devops YAML - AzureKeyVault 任务不接受变量作为 keyvaultname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71194577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com