首页 > 解决方案 > 在带有 linux 容器代理的 Azure DevOps 上的 powershell 脚本中使用环境变量

问题描述

我有几个在 Azure DevOps 的构建管道中运行的 powershell 脚本。脚本使用变量组并在自托管代理 (Windows server 2016) 上运行

我想更改代理,以便脚本将在 Linux 容器代理上运行。我已将 Linux 容器代理设置为 Azure 中的容器实例并更改了 powershell 脚本。容器代理安装了 powershell 核心模块和附加模块。在我的脚本中,我可以使用我的存储库中的文件。一切正常,除了一件事,变量组。

对于之前的代理,我在脚本中所要做的就是使用 $env: 从变量组中访问变量,例如:

$NewAccount = $env:Account

但这不适用于 Linux 容器代理。我尝试了几件事,例如:

$NewAccount = [Environment]::Account
$NewAccount = $(Account)
$($env:Account)
("##vso[task.setvariable variable=Account;]$Account")

但它不起作用。我必须为 Linux 容器代理做一些不同的事情,但我不知道需要更改或添加什么

标签: azurepowershellazure-devops

解决方案


好的,所以解决方案是将 env 变量写成大写:$env:ACCOUNT


推荐阅读