如何在TeamCity Feed中手动添加nupkg文件?

9

我有一个启用了Nuget feed的TeamCity服务器。我想手动添加一些第三方nupkg文件到它上面,这是否可能?


Meirion,你的意思是在不运行TeamCity构建的情况下添加一个.nupkg吗? - David White
2个回答

3
您可以通过使用TeamCity的“NuGet Publish”运行器类型步骤或使用NuGet exe将nupkg添加到私有源。
  1. 开箱即用的NuGet发布:配置一个带有运行器类型“NuGet Publish”的构建步骤。在NuGet设置下,提供相对于检出目录的.nupkg文件位置。还要提供API密钥和软件包源(指向您的私有NuGet源的URL)。然后运行此构建步骤,它应该会发布您的软件包。最好有先前的步骤将软件包重命名以避免混淆。
  2. CommandLine NuGet.exe:配置一个带有运行器类型“Command Line”的构建步骤。在Run选项下选择“Executable with Parameters”。在“command executable”下输入NuGet.exe的路径,并在“command parameters”下添加以下参数- push {Path-to-package}{Package-Name}.nupkg {API-KEY} -Source {URL-to-Private-Feed}

1

你的问题中有一个含糊不清的代词(it),所以我会为两种情况回答。

是否可以手动将第三方nupkg文件添加到Nuget feed? 是的。只需将包提交到feed中。可以通过nuget.org或者如果是私有feed,则提交到私有feed的url上。我猜如果是这种情况,您应该使用私有feed。此外,TeamCity还有一个内部NuGet feed,您可以直接发布到其中。阅读更多:如何将自定义nuget feed添加到TeamCity构建中?

是否可以直接将第三方nupkg文件手动添加到TeamCity? 不行。您需要经过NuGet feed。话虽如此,nuget.exe支持设置一个本地文件存储库,但不确定Team City是否支持此语法。

在这之后,你可能会发现直接将你的nuget包目录与源代码一起提交更容易,这样你就不用担心构建服务器上的包恢复问题。这样你就不需要处理任何东西,只需将第三方nupkg文件添加到你的解决方案中的packages目录即可。

更新:如果您不想将软件包添加到源代码控制中,您可以设置一个私有的NuGet feed,然后在TeamCity中将其配置为NuGet软件包源。您可以在本地托管此feed,或通过像MyGet这样的工具购买。


3
将您的软件包添加到源代码控制是非常不好的做法,可能会导致版本控制系统变得臃肿。 - Matthew Marlin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接