我已经启用了TeamCity的NuGet Server,我想推送通用软件包(即来自公共资源,如NuGet.org),因为构建服务器无法在我们公司外部看到,因此在构建服务器上恢复软件包来自NuGet.org是不可能的。
我无法看到如何将这些软件包推送到我们的TeamCity服务器上。我已经看到了各种答案,建议在构建中使用程序包构建或其他一些发布方法,但这不适合我的用例。
如果我尝试从命令行发布它抱怨它无法找到API密钥(我从哪里获取?)并且它不允许我输入我的凭据(我假设我的团队城市登录它会告诉我"无法在非交互模式下提示输入。" (我没有设置该模式,我无法看到如何关闭它。)
那么,我如何将我在别处获得的adhoc包推送/发布到团队城市?
答案 0 :(得分:3)
我相信TeamCity提供的nuget功能是在TeamCity的内置工件功能之上添加的API。
有很多后果:
但据我所知,Teamcity Nuget API中没有实现将包推送到它的实现。存储原始包或生成包的一般做法是使用独立的nuget服务器或服务,如普通文件共享,基于Nuget.Core的服务器,proget或myget.org。
更新: 如果您最终得到了许多自己的软件包,我听说有人报告说,当客户解析软件包时,Teamcity变得非常慢。
更新2: 在过去的几年里,我采用了将构建工件包分成两类库包和部署包的概念。一个单独的软件包存储库可以用于这两种类型,但是存储库(例如Octopus deploy中可用的存储库)应该仅用于部署软件包。