gpt4 book ai didi

.net-core - 如何在 Azure DevOps 管道中配置环境变量?

转载 作者:行者123 更新时间:2023-12-03 13:51:01 24 4
gpt4 key购买 nike

我有一个 Azure 函数(.NET Core),它被配置为从 JSON 文件和环境变量中读取应用程序设置:

var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(_baseConfigurationPath)
.AddJsonFile("appsettings.json", optional: true)
.AddEnvironmentVariables()
.Build();

BuildAgentMonitorConfiguration configuration = configurationBuilder.Get<BuildAgentMonitorConfiguration>();
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": "..."
}
}

其中一些设置在 Azure 函数中配置为环境变量。一切都按预期工作:

Azure Function application settings

现在的问题是在构建管道中配置其中一些变量,这些变量用于单元和集成测试。我试过如下添加一个变量组并将其链接到管道:

Azure DevOps Task Group

但是没有设置环境变量并且测试失败。我在这里缺少什么?

最佳答案

我也有相同的用例,我希望使用 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

请注意空格,因为它是 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

您可以使用类似的语法来设置环境变量。

关于.net-core - 如何在 Azure DevOps 管道中配置环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56273723/

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