Automation “持续集成工具”;管道“;支持?

Automation “持续集成工具”;管道“;支持?,automation,continuous-integration,build-automation,automated-tests,Automation,Continuous Integration,Build Automation,Automated Tests,我们的自动化构建和测试占用了越来越多的资源,特别是因为我们在调试和优化方面都支持许多平台和测试。因此,我正在寻找一些工具支持,以允许更多的增量“管道”方法,以便我们能够更快地获得反馈和结果。一些理想特征包括: 支持增量反馈,以便我们可以看到构建、单元测试、快速测试、长时间运行的测试、静态分析等的结果 任务依赖性:如果构建失败,那么不应该运行测试,但可以运行其他任务(如lint或其他) 支持多种构建和测试工具(包括自定义) 支持多种平台(Linux、Mac,可能还有Windows) 一些归档功能会

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

  • 支持增量反馈,以便我们可以看到构建、单元测试、快速测试、长时间运行的测试、静态分析等的结果

  • 任务依赖性:如果构建失败,那么不应该运行测试,但可以运行其他任务(如lint或其他)

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

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

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


  • 非常感谢您的指点或个人建议。

    您可能想看一看。

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

    我认为它很接近,尽管它可能不适合您,因为它只适用于windows

  • 对。web前端在构建运行时提供增量反馈,包括细节反馈和百分比反馈
  • 对。构建过程是任务的层次结构。您可以确定任务是失败继续还是失败中止
  • 对。任务几乎可以是任何东西。它附带的任务工具箱相当完整
  • 否。生成服务器必须是windows计算机。但是,您可以从web前端开始构建
  • 对。每个构建都有详细的分层记录,所以很容易确定每一步都发生了什么
  • 我想我会做你想做的一切:

  • Web前端显示命令的输出
  • 完全任务依赖项
  • 完全定制的工具—python脚本,但主要是shell脚本
  • 目前,我们正在Linux、Mac、Solaris和HP-UX上使用它
  • 它记录了一切,我不知道它是如何清洗的

  • 我的JetBrains TeamCity设置接近您所需

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

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

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

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

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

    我们使用,它可以处理您所描述的内容。我们的主要构建包括61个离散的步骤,包括java、C++、C语言的编译,以及5个不同OS平台的安装构建。有些步骤是并行执行的,有些步骤可能会失败而不会导致整个构建失败,而且许多步骤是在不同的机器上远程执行的

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

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

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

    4) 对。构建服务器是java,只需要1.6JDK,因此任何平台都可以为主构建服务器或附属构建服务器工作


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

    请尝试从Thoughtworks开始巡航。

    必须同意Thoughtworks选项-转到“敏捷发布管理”

    在企业版中有一个社区版(免费)和一些很好的特性,例如环境配置和特定工件(版本)到特定环境的部署