Azure DevOps 发布管道,从 C# 代码读取环境变量
Azure DevOps Release Pipeline, Read Environment Variables from C# Code
我以为在发布管道的“变量”选项卡中设置的变量被设置为环境变量?
在我的 TestCase 项目中,我将一些设置存储为环境变量,这些设置在我的测试设置过程中被访问,但在 azure 发布管道中它只是返回为 null(这是使用托管代理)。
如何从我的 C# 代码访问发布管道的“变量”选项卡中设置的变量?
我目前访问环境变量的代码是
Environment.GetEnvironmentVariable("DevOpsUserName", EnvironmentVariableTarget.Machine)
这不会拉回变量数据。
它们被设置为环境变量(秘密变量除外,出于安全原因不会自动转换为环境变量)。
但是,它们不是机器级别的环境变量。他们是进程级。
使用EnvironmentVariableTarget.Process
.
您可以使用 Environment.GetEnvironmentVariable("DevOpsUserName", EnvironmentVariableTarget.Process)
,正如丹尼尔提到的那样。
或者直接使用Environment.GetEnvironmentVariable("DevOpsUserName")
,相当于前面的语句,针对进程级别的环境变量。
我以为在发布管道的“变量”选项卡中设置的变量被设置为环境变量? 在我的 TestCase 项目中,我将一些设置存储为环境变量,这些设置在我的测试设置过程中被访问,但在 azure 发布管道中它只是返回为 null(这是使用托管代理)。
如何从我的 C# 代码访问发布管道的“变量”选项卡中设置的变量?
我目前访问环境变量的代码是
Environment.GetEnvironmentVariable("DevOpsUserName", EnvironmentVariableTarget.Machine)
这不会拉回变量数据。
它们被设置为环境变量(秘密变量除外,出于安全原因不会自动转换为环境变量)。
但是,它们不是机器级别的环境变量。他们是进程级。
使用EnvironmentVariableTarget.Process
.
您可以使用 Environment.GetEnvironmentVariable("DevOpsUserName", EnvironmentVariableTarget.Process)
,正如丹尼尔提到的那样。
或者直接使用Environment.GetEnvironmentVariable("DevOpsUserName")
,相当于前面的语句,针对进程级别的环境变量。