[英]Is there a command to point nuget.exe to a specific NuGet.Config file?
[英]Environment Variable replacement in Nuget.config
我们有带有 Nuget.config 文件的 dotnet 核心应用程序。 作为 azure devops CI 管道的一部分,我们想要读取和替换 Nuget.config 文件中的环境变量。 环境/管道变量(USERNAME 和 PWD)在 CI 管道的“Build Docker Image”任务中配置。 azure devops CI 构建服务器在 Ubuntu 机器上运行。
MAC/Linux 中的环境变量应按照本文档以下列方式替换。
Nuget.config 中的语法“$USERNAME”在这里不起作用。 当我们替换 static 用户名和密码时,它工作正常。
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 文件中的环境变量的正确语法或方法是什么?
您可以改用Replace Tokens
任务,并将其配置为处理您的 nuget.config 文件。
但是,您可能需要考虑使用 Nuget 服务连接,因为这样可以避免将 Nuget 凭据保存为管道变量,并且还可以使它们更安全,因为它们在配置文件中替换时将以纯文本形式显示。
有关在 Azure DevOps 中使用服务连接的详细信息,请参阅 Microsoft 文档: https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml= #sep-nuget
我相信我们的 nuget 文档需要更正。 无论平台如何,都使用相同的字符进行环境变量替换:%myPW% 我在 Ubuntu 18 上使用 dotnet.exe 3.0.100 测试成功。*
请就我分配给我的跟踪问题与我联系: https://github.com/NuGet/Home/issues/8662
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.