【问题标题】:Pass credentials to nuget.exe when installing/downloading package on shared CI build server在共享 CI 构建服务器上安装/下载包时将凭据传递给 nuget.exe
【发布时间】:2019-03-28 04:45:16
【问题描述】:

我有两个团队 AB 共享同一个 CI 构建服务器。每个团队在 nexus 3 中也有自己的 nuget 存储库,他们只能使用他们的私人凭据上传到/下载。

因此,当团队 A 在 CI 构建服务器上运行构建时,他们应该使用他们的凭据对他们有权访问的 nuget 存储库进行身份验证。

但我发现您可以做到这一点的唯一方法是在 NuGet.Config 文件中添加 source

https://gist.github.com/xavierdecoster/3205826

nuget sources add|update -Name [name] -source [feedUrl] -User [username] -pass [password]

但如果我这样做,那么两个团队只需指定对方添加的源名称,然后就可以访问他们的存储库。

如何防止这种情况发生??

如果我可以向安装命令提供用户/通行证,那我会很容易,但这似乎是不可能的。

【问题讨论】:

  • 您是否有理由不限制 Nexus Repository Manager 级别的权限?我不想假设这可能是一个答案,因为您专门询问了 nuget 中的一种方法。
  • 是的,它也限制在 nexus 上。但这并不能解决拥有机器范围的 NuGet.Config 文件的问题,每个有权访问机器的人都可以访问该文件,并且只在其构建中使用其他团队存储库的源 ID。

标签: nuget nexus


【解决方案1】:

Azure Pipelines 处理它的方式是在构建之间清理的位置创建一个临时的nuget.config 文件。然后,使用nuget.exe restore -configfile path\to\nuget.config whatever.sln

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2023-03-10
    相关资源
    最近更新 更多