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

时间:2012-05-02 23:48:41

标签: teamcity nuget teamcity-7.0

我们为nuget配置了TeamCity 7服务器。它托管在没有外部连接的机器上。是否可以将包发布到TeamCity nuget服务器? 例如,如果我们想要将log4net包依赖项添加到我们的某个项目中,则需要将其发布到TeamCity服务器,因为nuget.org无法访问。 到目前为止,我已尝试发布http://teamcity:port/guestauth/app/nuget/v1/FeedService.svc的变体,但到目前为止还没有运气。

谢谢, 安迪

3 个答案:

答案 0 :(得分:9)

"解决方法是创建一个构建配置,将这些包作为工件发布。"

http://blogs.jetbrains.com/teamcity/2011/12/01/setting-up-teamcity-as-a-native-nuget-server/

答案 1 :(得分:1)

答案 2 :(得分:0)

我们之前遇到过相同的问题,实际的解决方案是创建一个构建配置,正如@Robert所说。但是teamCity免费版本有20个构建配置限制,有时你不想在单个Nuget包中使用它们,所以我们的解决方法是:

  • 您需要对TeamCity Server的packages文件夹具有写入权限。
  • 使用适当的权限为packages文件夹创建共享文件夹。
  • 在项目文件夹中,使用以下语句创建.cmd文件:
set output=\\teamcityserver\Packages
<nuget.exe path>\nuget pack "MyProject.csproj" -o %output% -build -Properties Configuration=Release

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

如果您在解决方案中有多个nuget包,只需为每个包重复“nuget pack”行即可完成。游出nuget.exe的路径并正确更改它。

我还没有尝试在最后一个TeamCity版本中发布。