2012-05-02 31 views
9

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

感谢, 安迪

回答

0

之前我们有同样的问题,实际解决方案是创建一个构建配置,@Robert说。但TeamCity的免费版本有20构建配置限制,有时你不希望在单一的NuGet包使用它们,所以我们的解决方法是:

  • 你需要写访问到的TeamCity服务器软件包的文件夹。
  • 用适当的权限创建共享文件夹到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版本中发布。

+2

Sergi,这个TeamCity \ Packages目录在哪里?在TeamCity数据目录中,我可以看到\ backup,\ config,\ lib,\ plugins和\ system目录。这个目录里面具体是什么? –

+1

我想我混合了一些概念......我们实际上做的是直接发布到我们自己的Nuget服务器...不是TeamCity的......所以,对于混淆抱歉... – Sergi