【问题标题】:Azure DevOps Release Pipelines - Using Powershell with Pipeline variables inside bracketsAzure DevOps 发布管道 - 使用 Powershell 和括号内的管道变量
【发布时间】:2019-07-17 14:48:52
【问题描述】:

我陷入了一些语法噩梦,到目前为止我尝试过的一切都行不通。

它只有一行...在我使用 $(env:name-of-var) 东西处理一些发布管道变量之前,它工作得非常好...

$primarykey = (Get-AzRelayKey -ResourceGroupName $($env:az-resourcegroupname) -Namespace $($env:az-relaynamespace) -HybridConnection $($env:AF.actionResultRelayConnectionName) -Name $($env:AF.actionResultFalloverRelayKeyName) | Select-Object -ExpandProperty PrimaryKey)

任何想法都非常受欢迎。提前致谢。

【问题讨论】:

  • 您好,感谢您的回复。这些变量存在于 Release Pipelines 的变量集中。错误在 var 名称中的 - 字符周围... + ... Get-AzRelayKey -ResourceGroupName $($env:az-resourcegroupname) -Names ... + ~~~~~~~~~~~~~ ~~~~~ 表达式或语句中出现意外的标记“-resourcegroupname”。

标签: powershell azure-devops azure-pipelines azure-pipelines-release-pipeline


【解决方案1】:

因为变量名中有-,所以出现错误。

你可以这样做(代替$($env:az-...)):

${env:az-resourcegroupname}
${env:az-relaynamespace}

【讨论】:

  • 我已经尝试过了,但是当它通过语法时,var 无法解析并报告为空。看起来像 - 或 .这里不能用吗??
  • 我已经尝试了以下实验......在管道中创建了一个名为“basicvar”的变量,其值为“nospecialchars”,我在 Azure Powershell 脚本中放入了以下 2 行...... .line (1) 是 write-host $($env:basicvar) 并且第 2 行是 write-host ${$env:basicvar} - 第一个解析值“nospecialchars”第二行报告为空
  • 好的-我已经重新阅读了您在@Shayki 中添加的内容,所以谢谢您,对于带有a 的变量-您放入了{} 并删除了额外的$-这就是我所缺少的。我的下一个问题是如何处理带有 .在他们中。现在我的 var 与 .不解决。我尝试了以下...write-host $($env:AF.actionResultRelayConnectionName) 和 write-host ${env:AF.actionResultRelayConnectionName} - 两个语句都显示为空白!
  • 感谢您一直以来的帮助。是的,我认为这是最好的,在测试了一段时间后我放弃了,似乎发布管道不适用于 blog.danskingdom.com/… 中的句点
猜你喜欢
  • 2019-04-29
  • 2023-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
相关资源
最近更新 更多