2

我们的自动化构建和测试正在占用越来越多的资源,特别是因为我们支持许多平台并在调试和优化中进行测试。因此,我正在寻找一些工具支持,以允许更多增量的“管道”方法,以便我们可以更快地获得反馈和结果。一些理想的特征包括:

  1. 支持增量反馈,因此我们可以在可用时查看构建、单元测试、快速测试、长时间运行测试、静态分析等的结果。

  2. 任务依赖性:如果构建失败,则不应运行测试,但可以运行其他任务(如 lint 或其他东西)。

  3. 支持多种构建和测试工具(包括自定义)。

  4. 支持多种平台(Linux、Mac,可能还有 Windows)。

  5. 一些归档能力会很棒,比如日志文件、构建/测试输出等。自然地,这可能会变得难以管理,因此理想情况下,一些数据会在 X 天或 Y 多次构建后被清除。

非常感谢任何指针或个人建议。

4

8 回答 8

3

您可能想看看Jenkins(以前称为 Hudson)

于 2008-10-22T18:45:23.930 回答
2

我一直在使用Anthill,但您必须为此付费。

于 2008-10-22T18:49:38.027 回答
2

我认为, Automated Build Studio很接近,尽管它可能不是您的选择,因为它仅适用于 Windows。

  1. 是的。Web 前端在构建运行时提供增量反馈,包括详细信息和百分比。
  2. 是的。构建过程是任务的层次结构。您可以确定任务是失败继续还是失败中止。
  3. 是的。任务几乎可以是任何东西。随附的任务工具箱非常完整。
  4. 不可以。构建服务器必须是 Windows 机器。但是,您可以从 Web 前端开始构建。
  5. 是的。每个构建都被详细记录,分层,因此很容易查明每一步发生的事情。
于 2008-10-22T18:52:59.250 回答
1

我认为buildbot会做你想做的一切:

  1. Web 前端显示命令的输出。
  2. 完整的任务依赖
  3. 完全自定义的工具 - python 脚本,但主要是 shell 脚本
  4. 目前我们在 Linux、Mac、Solaris、HP-UX 上使用它
  5. 它记录了一切,我不知道它如何/是否清除了东西。
于 2008-10-22T19:01:07.020 回答
1

必须同意 thinkworks 选项 - 转到“敏捷发布管理” http://www.thoughtworks-studios.com/go-agile-release-management

有一个社区版(免费)和企业版中的一些不错的功能,例如环境配置和将特定工件(版本)部署到特定环境。

于 2011-01-17T12:17:47.207 回答
0

我的 JetBrains TeamCity 设置近似于您的需要。

在一个项目下,我设置了多个不同的构建配置。

每个构建配置之间的区别在于构建目标的选择(我使用 NAnt)和触发。

我有一个“XYZ 集成”配置,它进行调试构建并运行一些 NUnit 测试。这会在签入完成 60 秒后触发,向开发团队提供快速反馈。

我还有一个“XYZ Daily”配置,它进行调试构建,运行 NUnit 测试,然后构建一些 MSI 并编译一些文档。正如您可能猜到的那样,它每天运行一次。

您也可以这样做,但配置范围更广。

于 2008-10-24T08:54:08.570 回答
0

我们使用Hericus Software 的 Zed Builds and Bugs Management,它可以处理您所描述的内容。我们的主要构建包括超过 61 个独立的步骤,涵盖 Java、C++、C# 的编译和 5 个不同操作系统平台的安装构建。有些步骤是并行执行的,有些可能会失败而不会导致整个构建失败,并且许多步骤是在不同的机器上远程执行的。

1) 是的。当为构建执行这些步骤时,您可以立即看到该步骤的结果,而无需等待整个构建完成。

2) 是的。您可以定义步骤失败是否导致完全构建失败。创建由“父”或“主”构建调用的“子”或“子”构建的能力允许极大的灵活性。

3) 是的。我们正在使用 makefile、ant、C# 解决方案和几个自定义脚本,它们都集成得很好。

4) 是的。构建服务器是 java 并且只需要 1.6 JDK,因此任何平台都可以用于主构建服务器或附属构建服务器。

5) 是的。复制到构建“状态”目录中的所有内容都会被保存。这包括可以从网站查看的命令标准输出/错误。您可以根据构建数量选择要保留多少“开发”构建历史。一个构建也可以提升为“QA”,在这种情况下,它不会被删除,直到它从“QA”中删除。从 QA 中,您可以将构建提升为“生产”,这将保留所有构建工件,直到您决定删除它们。

于 2008-11-11T21:28:30.650 回答
0

请尝试来自 Thoughtworks 的 Cruise

于 2009-01-29T07:03:39.030 回答