c# - NuGet 和夜间构建

标签 c# .net deployment nuget

我们应该每天在 NuGet 上构建我们的夜间构建吗?客户要求这样做,但他们每年都有大量包裹。 NuGet 是为此目的而设计的吗?我们如何标记稳定版本?

谢谢。

最佳答案

首先,从用户的角度思考。

即使客户安装了您的 nightly,如果出现问题,他也能够返回到更稳定的 nightly。为此,绝对要求您发布的每个构建版本都有一个独特的版本方案。

假设您的客户的版本为 1.0.1-nightly.1234已安装,适用于 hin。现在他更新了 1.0.1-nightly.1235它坏了,他无法继续。他应该是个能干的人

uninstall-package YourPackage
install-package YourPackage -version 1.0.1-nightly.1234 -pre

我知道您不想将 nuget.org 与您的夜间构建搞混,因此您可以使用另一个提要或设置您自己的服务器(也许您的构建服务器已经可以做到这一点,我使用可以执行 nuget 的 teamcity部署并在 nuget 服务器中构建,即使我到目前为止从未使用过它但我打算这样做)。

也许您可以在 nuget.org 上进行每月一次的预发布,或者手动发布您认为相当稳定的夜间构建。

我建议您更改版本方案以在构建中包含日期 1.0.1-nightly.20140520用于您自己的饲料和 1.0.1-nightly用于正式构建。

nuget 本身支持像<major>.<minor>.<patch>-<buildname>.<revision> 这样的版本控制方案。但 nuget.org 只允许 <major>.<minor>.<patch>-<buildname>

http://docs.nuget.org/docs/reference/versioning

关于c# - NuGet 和夜间构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23753880/

相关文章:

c# - 在 .NET 2.0 中 reshape 应用程序资源

testing - 保持测试/暂存/实时环境中内容同步的好工具

c# - 继续我的上一个问题: Having trouble in calculating roots of a quartic equation in C#

c# - volatile 围栏演示?

c# - .NET 中的 OpenCalais 解析 RDF

.net - 使用 .NET 核心 2.2 中的 MailKit SMTP 客户端使用 Gmail SMTP 发送邮件对我不起作用

deployment - 在 Heroku 上暂存实例

c# - "Unable to read data from the transport connection: An existing connection was (NOT FORCIBLY) closed"在 RESTful Web 服务调用上

c# - 如何在 C# TCP/IP 中的 Socket.Connect 中传递用户名和密码

.net - 支持 SQL Server 2005 和 2008