【发布时间】:2019-03-28 04:45:16
【问题描述】:
我有两个团队 A 和 B 共享同一个 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。