gpt4 book ai didi

azure - Nuget.config 中的环境变量替换

转载 作者:行者123 更新时间:2023-12-02 19:54:46 24 4
gpt4 key购买 nike

我们有带有 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 文件中的环境变量的正确语法或方法是什么?

最佳答案

您可以改用Replace Tokens 任务,并将其配置为处理您的 nuget.config 文件。

但是,您可能需要考虑使用 Nuget 服务连接,因为这样可以避免将 Nuget 凭据保存为管道变量,并且还可以使它们更安全,因为它们在配置文件中替换时将以纯文本形式公开。

有关在 Azure DevOps 中使用服务连接的详细信息,请参阅 Microsoft 文档:https://learn.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#sep-nuget

关于azure - Nuget.config 中的环境变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58802058/

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