代码之家  ›  专栏  ›  技术社区  ›  Ludwig Wensauer

delphi的连续集成系统

  •  29
  • Ludwig Wensauer  · 技术社区  · 15 年前

    有没有像德尔福这样的Java系统的CI系统? 哈德逊有Delphi集成吗?

    11 回复  |  直到 10 年前
        1
  •  21
  •   Frank Shearar    15 年前

    我们使用hudson:),它在delphi中工作得很好。

    以下是我的一个项目的完整设置:

    <?xml version='1.0' encoding='UTF-8'?>
    <project>
      <actions/>
      <description></description>
      <keepDependencies>false</keepDependencies>
      <properties/>
      <scm class="hudson.scm.CVSSCM">
        <cvsroot>:sspi:cvsonly:foo@bar:/baz</cvsroot>
        <module>SIP</module>
        <canUseUpdate>false</canUseUpdate>
        <flatten>true</flatten>
        <isTag>false</isTag>
        <excludedRegions></excludedRegions>
      </scm>
      <canRoam>true</canRoam>
      <disabled>false</disabled>
      <triggers class="vector"/>
      <builders>
        <hudson.tasks.BatchFile>
          <command>&quot;C:\Program Files\Nant\bin\nant&quot; -buildfile:etc\sip.build build-d7 test</command>
        </hudson.tasks.BatchFile>
      </builders>
      <publishers>
        <hudson.tasks.BuildTrigger>
          <childProjects>quux, foozle, wibble</childProjects>
          <threshold>
            <name>SUCCESS</name>
            <ordinal>0</ordinal>
            <color>BLUE</color>
          </threshold>
        </hudson.tasks.BuildTrigger>
      </publishers>
      <buildWrappers/>
    </project>
    

    build的delphi-7目标构建项目的测试套件(dunit的texttestrunner),因此作业的输出只是失败/错误测试的计数,这要归功于:

    var
      R: TTestResult;
    
    begin
      R := TextTestRunner.RunRegisteredTests;
      ExitCode := R.ErrorCount + R.FailureCount;
    end;
    
        2
  •  16
  •   Harriv    15 年前
        3
  •  8
  •   Toby Allen mercator    10 年前

    我们使用 CruiseControl.NET ,这与Delphi非常配合。

        4
  •  6
  •   The_Fox    15 年前

    看来恩巴卡德罗自己用的是哈德逊。请参阅Embarcadero开发经理Nick Hodges的评论。 http://blogs.embarcadero.com/nickhodges/2010/03/10/39369#comment-29952

        5
  •  5
  •   Toby Allen mercator    11 年前

    Hudson 很好,也有 MSI setup . 旧delphi版本(预先msbuild)的用户可以使用流行的apache ant和nant构建脚本环境创建构建脚本。当然,也可以使用简单的命令行(批处理脚本)构建。

    其中一个亮点 安装程序是带有JRE的, 完全独立。这是 因为windows用户通常不会 知道如何处理*.war文件, 他们一般不喜欢 命令提示符和运行Java 手动命令。

    因此,不必首先通过太多的安装程序和命令行就可以轻松地进行尝试。

    安装完成后,请务必访问管理应用程序中的插件页面,这里有许多可供delphi开发人员使用的扩展。插件概述在线 here .

    用于delphi的hudson工具:还有 Code Coverage 支持hudson的delphi工具 here .

    TeamCity 是另一个非常好的ci系统。它是一个商业产品,但提供最多20个用户的免费许可证和3个构建代理上的20个构建配置。

    Bamboo 是任何语言的CI系统。可从Atlassian获得。它的价格从10美元开始-这包括所有的功能和无限的用户,但限于10个计划,运行的建设只有在服务器上安装。它可以使用amazon弹性计算云实例作为远程代理。

    Automated Build Studio 来自SmartBear。在Automated Build Studio Server中,它在FinalBuilder之前引入了CI。

        6
  •  1
  •   Slava Imeshev    15 年前

    添加我们 Parabuild 到要检查的工具列表-它实际上构建了 任何东西 它可以从命令行(包括delphi)构建,并提供与perforce和其他版本控制系统(如git和bazaar)的集成。

        7
  •  0
  •   TridenT    15 年前

    哈德森 对于一些基于web的助手来说,使用起来很简单,因为delphi项目是用msbuild构建的。

    如果您需要更多的定制和第三方工具集成(例如集成度量工具),那么 cruisecontrol.net网站 是理想的解决方案。

    看看我的 CC.NET Dashboard page for DelphiCodeToDoc (您还可以查看配置文件)。我正在做 签出+gui和命令行版本编译和单元测试+单元测试执行和报告+ftp上传构建交付 .

        8
  •  0
  •   mmmm    15 年前

    只是为了支持cruisecontrol.net,因为delphi 2007和更高版本是基于msbuild的,那么通过cc.net构建应该没有问题。dunit的某个地方有一个补丁,以便它将结果输出到xml文件中,然后可以将其集成到构建结果图表中。

        9
  •  0
  •   Mawg says reinstate Monica    15 年前

    呃,你能确定你到底在找什么吗?

    你用这个短语 continuous integration ,但你是说 continuous build 确保它编译并喜欢,或者你真的是指 持续集成 从某种意义上说,您还运行回归测试?

    我很好奇你是怎么做到的(汽车?).

    并不是说它真的很重要,因为美妙的哈德逊 只为Java)有许多插件,但也将允许您执行DOS批处理脚本——任何您愿意编写、编写、测试、报告结果的脚本等。

        10
  •  0
  •   Vic Adam    15 年前

    另一个选择(虽然不是免费的,但对于有限的用户,10美元)是 Atlassian Bamboo . JetBrains TeamCity是另一个免费的(用户数量有限)。我在Delphi2009/2010上都试过了,而且效果很好。两者都允许与其他供应链集成。

        11
  •  0
  •   Alexey Petushkov    12 年前

    我们使用詹金斯ci系统 Owly CI 工具作为构建系统和依赖处理程序。

    看看这个 tutorial

    初始设置不到5分钟