【问题标题】:push NuGet packages to TeamCity NuGet server将 NuGet 包推送到 TeamCity NuGet 服务器
【发布时间】:2016-03-09 14:28:07
【问题描述】:

我已经开启了 TeamCity 的 NuGet Server,我想推送公共包(即来自 NuGet.org 等公共资源),因为构建服务器无法看到我们公司外部,所以从 NuGet.org 恢复构建服务器上的包是不可能的。

我看不到如何将这些包推送到我们的 TeamCity 服务器。我已经看到各种建议使用包构建或其他一些从构建中发布的方法的答案,但这不适合我的用例。

如果我尝试从命令行发布,它会抱怨它找不到 API 密钥(我从哪里得到它?)并且它不允许我输入我的凭据(我假设我的团队城市登录名是它)因为它告诉我“无法在非交互模式下提示输入”。 (我没有设置该模式,我看不到如何关闭它)。

那么,我如何将在其他地方获得的临时包推送/发布到团队城市?

【问题讨论】:

    标签: nuget teamcity-9.0 nuget-server


    【解决方案1】:

    我相信 TeamCity 提供的 nuget 功能是在 TeamCity 的内置工件功能之上添加的 API。

    这样做会产生很多后果:

    • 当执行生成任何标记为工件的 .nupkg 文件的构建配置时,它们将在 Teamcity nuget 提要中可用。
    • 与在 TeamCity 中发布的所有其他工件 nupkg 一样,受 Teamcity 的一般工件保留规则的约束。
    • nuget 包的访问规则与 TeamCity 项目的访问规则相同。

    然而,据我所知,Teamcity Nuget API 中没有实现将包推送到它。存储原始或生成的包的一般做法是使用独立的 nuget 服务器或服务,如普通文件共享、基于 Nuget.Core 的服务器、proget 或 myget.org。

    更新: 如果您最终拥有许多自己的包,我听说有人报告说,当客户端解析包时,Teamcity 变得非常慢。

    更新 2: 过去几年,我采用了将构建工件包分为两类库包和部署包的概念。这两种类型都可以使用单独的包存储库,但诸如 Octopus deploy 中可用的存储库只能用于部署包。

    更新 3: 微软有一个页面为多个nuget server options

    【讨论】:

    • 我最终使用了文件共享。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-04
    • 2015-09-13
    • 1970-01-01
    相关资源
    最近更新 更多