【发布时间】:2019-11-11 13:11:18
【问题描述】:
我们有带有 Nuget.config 文件的 dotnet 核心应用程序。作为 azure devops CI 管道的一部分,我们希望读取和替换 Nuget.config 文件中的环境变量。环境/管道变量(USERNAME 和 PWD)在 CI 管道的“构建 Docker 映像”任务中配置。 azure devops CI 构建服务器在 Ubuntu 机器上运行。
MAC/Linux 中的环境变量应按照this 文档以下列方式替换。
Nuget.config 中的语法“$USERNAME”在这里不起作用。当我们替换静态用户名和密码时,它可以正常工作。
Nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="abcFeed" value="https://somedevops.com/xyz/packaging/someApps/nuget/v3/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<packageSourceCredentials>
<abcFeed>
<add key="Username" value="$USERNAME"/>
<add key="ClearTextPassword" value="$PWD"/>
</abcFeed>
</packageSourceCredentials>
</configuration>
我们用以下文档尝试了以下语法,但它们都不起作用:$USERNAME, $(USERNAME), %USERNAME%, $USERNAME$
用 azure devops 管道替换 Nuget.config 文件中的环境变量的正确语法或方法是什么?
【问题讨论】:
-
为什么要这样做而不是创建工件提要并使用内置任务从工件提要中恢复?或者创建一个指向外部提要的 NuGet 服务连接并从该提要恢复?
-
@Kiransholi Kiran 好几天没有收到您的回复,您能否分享一下有关此问题的最新信息?如果您有任何疑问,请随时在此处分享。
标签: azure docker azure-devops nuget