是否有 CI 服务器软件可以完成所有这些工作?

Posted

技术标签:

【中文标题】是否有 CI 服务器软件可以完成所有这些工作?【英文标题】:Is there CI server software that can do all of this? 【发布时间】:2010-03-11 06:06:49 【问题描述】:

我正在尝试组建一个持续集成服务器,它将执行以下操作:

    使用颠覆 使用 NUnit 测试(在失败的测试中构建失败) 使用 partcover(基于 针对 FxCop 运行代码(根据 FxCop 警告构建失败,给定设置) 针对 StyleCop 运行代码(根据 StyleCop 警告构建失败,给定设置)

不那么重要:

    能够从 sln 文件运行 能够发布应用程序(已为项目设置 ClickOnce)

我现在正在使用 TeamCity,它似乎没有做 3 或 5,而且它没有最新 NUnit 的跑步者。

从 hudson 拥有的插件列表中,它看起来可以执行除 3 之外的所有这些(以及不那么重要的请求)。我考虑过为 hudons 编写一个插件来使用 partcover,但这增加了设置构建服务器的时间。

【问题讨论】:

FWIW,CruiseControl.Net 可以做 #1-3 @Chris Missal:它可以做 1-2 个不重要的事情吗?我愿意为操作系统项目做出贡献,如果它所需要的只是 fxcop/stylecop 的添加(因为这主要是我最近编写的所有代码),那么为 .NET 项目做出贡献会更容易。跨度> 【参考方案1】:

NAnt 可以用作构建脚本,它将构建您的项目,然后执行 NUnit 和 FXCop。

我在工作中使用的另一个选项是为 MSBuild 创建一个构建脚本并使用支持运行 FXCop 和 NUnit 等的 MSBuild Community Tasks。

所以对于我的设置,CCNet 从 SVN 中提取源代码,然后使用主构建文件调用 MSBuild。它在那里构建项目,运行 NUnit、NCover、FXCop、StyleCop 等,并合并结果,然后显示在 CCNet 网页上。还可以设置每个任务,因此如果失败则构建失败。

我没有使用过 TeamCity,但应该有办法下载源代码,然后运行 ​​MSBuild 或 NAnt 构建脚本,然后由它处理构建步骤。

【讨论】:

【参考方案2】:

如果它从 sln 文件运行,它就不是一个持续集成服务器。也许您正在混合构建工具和持续集成。今天的许多 CI 服务器除了运行为其他工具(如 NAnt 或 Maven)制作的构建脚本之外什么都不做。如果您正在寻找它,请先查看 NAnt。 NAnt 能够构建和执行其他工具,如 FXCop(使用 NAntContrib 库)。您使用 CI 服务器定期运行构建脚本。

【讨论】:

以上是关于是否有 CI 服务器软件可以完成所有这些工作?的主要内容,如果未能解决你的问题,请参考以下文章

Docker最全教程之使用Tencent Hub来完成CI(九)

微服务之部署

Ansible配置管理系统

是否可以使用没有docker的gitlab-ci将简单的Java Web应用程序部署到本地服务器?

Docker 中 Yarn 的只读缓存

为 iOS 建立 Travis CI