【问题标题】:What are solid NMaven or build servers for .NET alternatives?什么是可靠的 NMaven 或用于 .NET 替代方案的构建服务器?
【发布时间】:2010-12-20 17:25:04
【问题描述】:

Maven 历史悠久,在 Java 世界中得到了很好的支持。 NMaven 的起步不太成功,并且在 C#/.NET 世界中从未像它的表亲在 Java 世界中那样受欢迎。该项目似乎接近死亡(ish),但也许我错了。

是否有替代方案,最好使用NAnt,通常用于支持 NMaven 并且具有与 Maven 相似的属性?我正在寻找的是一个很好的 .NET 开源自动构建服务器,如果有的话。还是我应该继续使用 NMaven?

【问题讨论】:

    标签: .net nant maven build-server


    【解决方案1】:

    MAven 更像是一个存储库管理器,而不是 CI/Build 设置。

    如果您正在寻找持续集成服务器,以下是我所知道的:

    • CruiseControl.Net (http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET) 足够好,免费,但可能会占用资源,而且配置有时令人抓狂。
    • Hudson (http://hudson-ci.org/) 有一些相当不错的 .Net 特定任务。作为一个开源/免费的自动构建设置,我倾向于使用它而不是 CruiseControl.Net。它需要 Java 才能运行,但它在 Windows 上运行良好。网络仪表板很不错(尽管对蓝色而不是绿色有一种奇怪的迷恋)并且项目配置是轻而易举的(与 CCNet 相比......)
    • TeamCity (JetBrains) (http://www.jetbrains.com/teamcity/) 非常好,提供了许多有趣的功能(提交前的私有远程构建、分布式构建代理等)和很好的 VS.Net 集成。您必须为许可证付费,但对于小型团队来说是免费的。

    所有这些都支持最流行的 SCM(CVS、SVN)Hudson 和 TeamCity 支持 Mercurial 和 Git。

    我会选择 Hudson 或 TeamCity。

    【讨论】:

    • 是的,我正在实际上在寻找构建/集成服务器(过去我确实使用 Maven 和一些工具来实现这一目标)。您能否详细说明一下为什么您更喜欢 Hudson 或 TeamCity?我知道 CruiseControl,但不知道其他人。
    • TeamCity 和 Hudson 的设置和配置要容易得多。他们提供基于 Web 的配置仪表板,使其易于调整或构建链。 Ccnet 设置涉及大量 xml 文件的编辑和反复试验。或者您最终为它编写自己的配置前端。 CCnet 很好,但是处理它的配置真的很繁琐。 ccnet 相对于其他的唯一优势可能是它纯粹基于 .net。但我从未发现 Hudson 或 Team City 在 .net 特定任务方面缺少的东西。
    • 感谢您的更新,我们需要一段时间才能做出实际决定,但这很有帮助。谢谢。
    • 1. Maven 不是存储库管理器,这就是 Nexus/Artifactory 所做的。 2. Maven是一个构建自动化工具,包括项目结构标准和依赖解析和打包。它不做 CI,你需要 Maven + CI (Jenkins)。你能在整个 CI 上流血吗?需要深入的开发知识来设置构建工作?绝对是 TFS 风格,但 Maven 是您停止这样做并在企业中横向工作的方式,而不是“构建管道孤岛”
    【解决方案2】:

    对于持续集成和创建构建,TeamCity 非常适合小型操作(最多 3 个构建代理)且免费。它功能强大,开箱即用地支持 NAnt 和朋友(例如 MSBuild),并且它的最佳功能是易于使用和配置。即使升级也很轻松。

    问题在于它不是完全免费的,如果您需要更多功能(例如,超过 3 个构建代理),则需要付费。

    此外,您询问 Maven 替代品 - 它不会像 Maven 那样处理依赖项。

    【讨论】:

      【解决方案3】:

      我们使用CruiseControl.NET(加入了一点 NAnt)。它是开源 (Apache/BSD)、可靠、流行且正在积极开发中的。

      它专为持续集成而设计,但如果您愿意,可以轻松地手动触发构建。

      通过 XML 文件进行配置。

      【讨论】:

      • 我的印象是 CruiseControl不是开源的,而是来自 Confluence 的闭源(和 Jira 一样,对吗?)。无论如何,我似乎错了。如果我可以在这个项目中使用 CC,那就太好了。
      • 没有 CCNet 是开源的。 Atlassian 构建服务器是 Bamboo。
      • 根据sourceforge.net/projects/ccnet(下载链接的站点),它的APL/BSD就像Colin说的那样。
      • 我把名字混在一起了,你说得对(Confluence 是产品,而不是 Atlassian 公司),我认为它与 CCNet 相关联。感谢您的澄清。
      【解决方案4】:

      您可能想查看我们的Parabuild。它不是开源的,但它是 free 用于小型团队,包括支持。

      【讨论】:

      • +1 看起来很有希望。感谢您将此添加到线程!
      【解决方案5】:

      您可能想查看正在积极开发的NPanday。它适用于 Maven 所做的任何构建服务器。

      【讨论】:

        【解决方案6】:

        NMaven 被废弃,NPanday 是它的延续。

        【讨论】:

          猜你喜欢
          • 2022-11-10
          • 1970-01-01
          • 2023-01-16
          • 2016-01-16
          • 2010-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多