【问题标题】:How to cleanly automate authentication for Azure Devops feeds?如何彻底自动化 Azure Devops 源的身份验证?
【发布时间】:2020-10-01 08:16:14
【问题描述】:

大概有很多公司面临着和我们一样的困境。

对于任何微服务,在运行 dotnet restore 之前,我们首先需要确保我们已使用活动令牌成功配置了 ADO 包源。

为了实现这一点,我们有一个脚本,它下载并运行 CredentialProvider.VSS.exe(按照 Microsoft 的建议),使用输出来构建凭据,然后在用户的计算机上注册提要。这需要每天进行,因为生成的令牌将过期。

上面的脚本很丑陋,更糟糕的是,每个存储库都需要它,以确保为提要配置了活动令牌。例如,即使我们将丑陋的脚本移至 PowerShell 模块,我们如何针对 PS 提要进行身份验证才能下载该模块?

我不明白为什么需要 CredentialProvider,为什么 nuget 不能在我们的令牌过期时提示我们输入凭据?有没有人想出一个更简洁的解决方案来管理跨多个存储库的 ADO 提要的身份验证?

【问题讨论】:

    标签: azure azure-devops nuget


    【解决方案1】:

    如何彻底自动化 Azure Devops 源的身份验证?

    要对 Azure Devops 源进行身份验证,您可以尝试使用 NuGet authenticate 任务,该任务将 NuGet 工具配置为使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证。

    然后我们可以使用 PAT 创建一个新的 NuGet 服务连接:

    您可以使用更长期的PAT 进行认证,因此您不必每天更换认证。

    【讨论】:

      【解决方案2】:

      另一种使用 nuget.confg 的方法如下

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <add key="AzureDevOpsFeed" value="https://pkgs.dev.azure.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/index.json" />
          <add key="nuget" value="https://xxxxxxxxxxxxxxxxxxxxx/index.json" />
        </packageSources>
        <packageSourceCredentials>
          <VSTSFeed>
             <add key="UserName" value="#{PAT_UserName}#" />      
            <add key="ClearTextPassword" value="#{PersonalAccessToken}#" />
          </VSTSFeed>
        </packageSourceCredentials>
      </configuration>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-19
        • 2019-06-14
        • 1970-01-01
        • 1970-01-01
        • 2020-04-06
        • 1970-01-01
        相关资源
        最近更新 更多