是否有像Hudson for Java那样的Delphi CI系统? Hudson有没有任何Delphi集成?
答案 0 :(得分:21)
我们使用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>"C:\Program Files\Nant\bin\nant" -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>
sip.build的delphi-7目标构建项目的测试套件(DUnit的TextTestRunner),因此作业的输出只是失败/错误测试的计数,这要归功于:
var
R: TTestResult;
begin
R := TextTestRunner.RunRegisteredTests;
ExitCode := R.ErrorCount + R.FailureCount;
end;
答案 1 :(得分:16)
答案 2 :(得分:8)
我们使用CruiseControl.NET,它与Delphi完美配合。
答案 3 :(得分:6)
似乎Embarcadero本身使用Hudson。请参阅Embarcadero开发经理Nick Hodges的评论。 http://blogs.embarcadero.com/nickhodges/2010/03/10/39369#comment-29952
答案 4 :(得分:5)
Hudson 非常棒,也可以MSI setup的形式提供。旧版Delphi版本(MSBuild之前版本)的用户可以使用流行的Apache Ant和NAnt构建脚本环境创建构建脚本。当然也可以使用简单的命令行(批处理脚本)构建。
其中一个亮点 安装程序是它附带一个JRE, 完全独立。这是 因为Windows用户通常不会 知道如何处理* .war文件, 他们一般不喜欢去 命令提示符并运行Java 手动命令。
因此,在没有经过太多安装程序和命令行的情况下尝试很容易。
安装后请确保访问管理应用程序中的插件页面,有许多扩展可用,这对Delphi开发人员也很有用。插件概述在线here。
Delphi的Hudson工具:还有一个用于Delphi的Code Coverage工具,支持Hudson here。
TeamCity 是另一个非常好的CI系统。它是一种商业产品,但在3个构建代理上提供最多20个用户和20个构建配置的免费许可。
Bamboo 是适用于任何语言的CI系统。它可以从Atlassian获得。它的价格从10美元开始 - 这包括所有功能和无限用户,但仅限于10个计划,仅在安装它的服务器上运行构建。它可以将Amazon Elastic Compute Cloud实例用作远程代理。
来自SmartBear的Automated Build Studio 。使用Automated Build Studio Server,它在FinalBuilder之前的某个时间引入了CI。
答案 5 :(得分:1)
将我们的Parabuild添加到要检出的工具列表中 - 它可以构建几乎任何,可以从命令行构建 - 包括Delphi,它提供与Perforce的集成和其他版本控制系统,如Git和Bazaar。
答案 6 :(得分:0)
Hudson 使用简单,有一些基于Web的助手,因为Delphi项目是使用MSBuild构建的。
如果您需要更多自定义和第三方工具集成(例如集成度量工具),那么 CruiseControl.NET 是理想的解决方案。
查看我的CC.NET Dashboard page for DelphiCodeToDoc(您也可以查看配置文件)。我正在做 checkout +编译gui和命令行版本以及单元测试+单元测试执行和报告+ ftp上传构建交付。
答案 7 :(得分:0)
只是为了支持CruiseControl.NET,因为Delphi 2007及更高版本基于MSBuild,那么通过CC.NET构建应该没有问题。 DUNit的某处有一个补丁,因此它将结果输出到XML文件,然后可以将其集成到构建结果图表中。
答案 8 :(得分:0)
错误,您能定义一下您实际需要的内容吗?
您使用短语continuous integration
,但是您只是意味着continuous build
确保它编译和喜欢,或者您实际上是指continuous integration
,因为您还运行回归测试?
我会如何做到这一点(自动?)。
并不是说真的太重要了,因为精彩的Hudson(它绝对不是仅适用于java)有很多插件,但也允许你执行DOS批处理脚本 - 任何您需要编写,构建,测试,报告结果等的脚本。
答案 9 :(得分:0)
另一种选择(虽然不是免费的,有限的#用户10美元)是Atlassian Bamboo。而JetBrains TeamCity是另一个免费的(用户数量有限)。我已经尝试过使用Delphi 2009/2010,并且它们运行良好。两者都允许与其他SCM的Perforce集成。
答案 10 :(得分:0)
答案 11 :(得分:0)
我们使用jenkins。 詹金斯(Jenkins)有一个RAD Studio plugin来将Delphi项目的编译集成到工作中。并非必须使用它(插件),我们使用命令行工具和MSBuild来编译项目。
project DUnItX(用于创建单元测试)与Jenkins无缝集成。
在这里您可以找到有关Jenkins和Delphi集成的一些文章。简介,安装...。使用西班牙语,但是您可以毫无问题地翻译,附带的图像和代码非常简单。
1- Integración continua con Delphi (GIT)(引言)
2- Integración continua con Delphi (Jenkins) – Instalación(安装)
3- Integración continua con Delphi (Jenkins) – Primer proyecto(第一个项目)
4- Integración continua con Delphi (Jenkins) – Pipelines(使用管道)