如何将包发布到TeamCity NuGet服务器?

9
我们有一个配置了NuGet的TeamCity 7服务器。它托管在没有外部连接的机器上。是否可能将软件包发布到TeamCity NuGet服务器?
例如,如果我们想向我们的项目添加一个log4net软件包依赖项,则需要将其发布到TeamCity服务器,因为无法访问nuget.org。
到目前为止,我已经尝试发布到http://teamcity:port/guestauth/app/nuget/v1/FeedService.svc,但是迄今为止没有成功。
谢谢, 安迪
3个回答

9

我看到了,谢谢你发现了这个问题!希望他们能在某个时候解决这个问题。 - Andy


0

我们之前也遇到过同样的问题,实际解决方案是创建一个构建配置,就像@Robert所说的那样。但是TeamCity免费版有20个构建配置限制,有时您不想在单个Nuget包中使用它们,因此我们的解决方法是:

  • 您需要对TeamCity服务器上的packages文件夹具有写访问权限。
  • 创建一个共享文件夹以及适当的权限到packages文件夹。
  • 在项目文件夹中,创建一个.cmd文件并添加以下语句:
set output=\\teamcityserver\Packages
<nuget.exe path>\nuget pack "MyProject.csproj" -o %output% -build -Properties Configuration=Release

所以关键是将项目直接打包到服务器 packages 文件夹中。

如果解决方案中有几个 NuGet 包,只需为每个包重复“nuget pack”行即可完成。注意 NuGet.exe 的路径并进行正确更改。

我也没有尝试在最新的 TeamCity 版本中发布。


2
Sergi,TeamCity的\Packages目录在哪里? 在TeamCity数据目录中,我看到了\backup、\config、\lib、\plugins和\system等目录。那么具体位于这些目录中的哪个位置? - Nick Williams
1
我想我混淆了一些概念...我们实际上所做的是直接发布到我们自己的Nuget服务器...而不是TeamCity的...因此,对于造成的混淆,我感到抱歉... - Sergi

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