Rui*_*mba 7 environment-variables .net-core azure-devops azure-functions azure-pipelines
我有一个 Azure 函数(.NET Core),它被配置为从 JSON 文件和环境变量中读取应用程序设置:
var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(_baseConfigurationPath)
.AddJsonFile("appsettings.json", optional: true)
.AddEnvironmentVariables()
.Build();
BuildAgentMonitorConfiguration configuration = configurationBuilder.Get<BuildAgentMonitorConfiguration>();
Run Code Online (Sandbox Code Playgroud)
appsettings.json 具有以下结构:
{
"ProjectBaseUrl": "https://my-project.visualstudio.com/",
"ProjectName": "my-project",
"AzureDevOpsPac": ".....",
"SubscriptionId": "...",
"AgentPool": {
"PoolId": 38,
"PoolName": "MyPool",
"MinimumAgentCount": 2,
"MaximumAgentCount": 10
},
"ContainerRegistry": {
"Username": "mycontainer",
"LoginServer": "mycontainer.azurecr.io",
"Password": "..."
},
"ActiveDirectory": {
"ClientId": "...",
"TenantId": "...",
"ClientSecret": "..."
}
}
Run Code Online (Sandbox Code Playgroud)
其中一些设置在 Azure 函数中配置为环境变量。一切都按预期工作:
现在的问题是在构建管道中配置其中一些变量,这些变量用于单元和集成测试。我试过如下添加一个变量组并将其链接到管道:
但是没有设置环境变量并且测试失败。我在这里缺少什么?
Shu*_*ogi 12
我也有相同的用例,我希望使用 azure 构建管道设置一些环境变量,以便测试用例可以访问该环境变量以通过测试。使用 EXPORT,ENV 命令直接设置 env 变量不适用于后续任务,因此要为后续任务设置环境变量,请遵循https://docs.microsoft.com/en-us/azure 上提到的语法/devops/pipelines/process/variables?view=azure-devops&tabs=yaml%2Cbatch 即带有脚本标签的 task.set 变量
使用构建管道设置 ENV 变量的正确方法
- script: |
echo '##vso[task.setvariable variable=LD_LIBRARY_PATH]$(Build.SourcesDirectory)/src/Projectname/bin/Release/netcoreapp2.0/x64'
displayName: set environment variable for subsequent steps
Run Code Online (Sandbox Code Playgroud)
请注意空格,因为它是 yaml。上述脚本标签将变量 LD_LIBRARY_PATH(在 Linux 中用于定义 .so 文件的路径)设置为定义的目录。
这种设置环境变量的风格也适用于后续任务,但是如果我们像下面提到的那样设置 env 变量,那么环境变量将为特定的 shell 实例设置,并且不适用于后续任务。
设置环境变量的错误方法:
- script: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(Build.SourcesDirectory)/src/CorrectionLoop.HttpApi/bin/Release/netcoreapp2.0/x64
displayName: Set environment variable
Run Code Online (Sandbox Code Playgroud)
您可以使用类似的语法来设置环境变量。
| 归档时间: |
|
| 查看次数: |
13884 次 |
| 最近记录: |