德尔福持续集成系统

发布于 2024-08-28 03:13:47 字数 68 浏览 6 评论 0原文

有没有像 Hudson for Java 一样的 Delphi CI 系统? Hudson 有任何 Delphi 集成吗?

Are there any CI-Systems for Delphi like Hudson for Java?
Does Hudson has any Delphi integrations?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

倾城月光淡如水﹏ 2024-09-04 03:13:47

我们使用 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;

We use Hudson :), which works just fine with Delphi.

Here's a complete setup for one of my projects:

<?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's delphi-7 target builds the project's test suite (DUnit's TextTestRunner) and so the output of the job is simply the count of failed/error tests thanks to:

var
  R: TTestResult;

begin
  R := TextTestRunner.RunRegisteredTests;
  ExitCode := R.ErrorCount + R.FailureCount;
end;
不美如何 2024-09-04 03:13:47

我们使用 CruiseControl.NET,它与 Delphi 完美配合。

We use CruiseControl.NET, which works perfectly with Delphi.

尐偏执 2024-09-04 03:13:47

看来 Embarcadero 本身就使用 Hudson。请参阅 Embarcadero 开发经理 Nick Hodges 的评论。 http://blogs.embarcadero.com/nickhodges/2010/03 /10/39369#comment-29952

It seems Embarcadero itself uses Hudson. See the comment from Nick Hodges, Development Manager at Embarcadero. http://blogs.embarcadero.com/nickhodges/2010/03/10/39369#comment-29952

眉目亦如画i 2024-09-04 03:13:47

Hudson 很棒,它也可以作为 MSI 设置。旧版 Delphi 版本(MSBuild 之前)的用户可以使用流行的 Apache Ant 和 NAnt 构建脚本环境创建构建脚本。当然,简单的命令行(批处理脚本)构建也是可能的。

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

因此,无需先经历太多安装程序和命令行,就可以轻松尝试。

安装后请确保访问管理应用程序中的插件页面,有许多可用的扩展对于 Delphi 开发人员也很有用。插件概述位于此处

用于 Delphi 的 Hudson 工具:还有一个用于 Delphi 的 代码覆盖率 工具,支持 Hudson 此处

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

Bamboo 是一个适用于任何语言的 CI 系统。它可以从 Atlassian 获得。它的价格起价为 10 美元 - 这包括所有功能和无限用户,但仅限 10 个计划,仅在安装它的服务器上运行构建。它可以使用 Amazon Elastic Compute Cloud 实例作为远程代理。

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

Hudson is great, it is also available as MSI setup. Users of older Delphi versions (pre MSBuild), can create build scripts with the popular Apache Ant and NAnt build script environments. Simple command line (batch script) builds are possible too of course.

One of the highlights of this
installer is that it comes with a JRE,
to be fully self-contained. This is
because Windows users don't normally
know what to do with the *.war file,
and they generally don't like going to
the command prompt and running Java
command manually.

So it is easy to try without going through too many installers and command lines first.

And after installation make sure to visit the plug in page in the administration app, there are many extensions available which are also useful for Delphi developers. A plugin overview is online here.

Hudson tools for Delphi: there is also a Code Coverage tool for Delphi with Hudson support here.

TeamCity is another very nice CI system. It is a commercial product, but offers a free license for up to 20 users and 20 build configurations on 3 build agents.

Bamboo is a CI system for any language. It is available from Atlassian. Its price starts at $10 - this includes all features and unlimited users, but limited to 10 plans, running builds only on the server where it is installed. It can use Amazon Elastic Compute Cloud instances as remote agents.

Automated Build Studio from SmartBear. With Automated Build Studio Server, it introduced CI some time before FinalBuilder.

枕花眠 2024-09-04 03:13:47

我们使用 jenkins
Jenkins 有一个 RAD Studio 插件,可以将 Delphi 项目的编译集成到作业中。不强制使用它(插件),我们使用命令行工具和 MSBuild 来编译项目。

项目 DUnItX(用于创建单元测试)与 Jenkins 无缝集成。

在这里你可以找到一些关于Jenkins和Delphi集成的文章。介绍、安装……都是西班牙语,但您可以毫无问题地翻译,并且包含的​​图像和代码非常简单。

1- 与 Delphi 集成 (GIT)(简介)
2- 与 Delphi 集成 (Jenkins) – 安装(安装)
3- Integración continua con Delphi (Jenkins) – 入门proyecto(第一个项目)
4- 与 Delphi 集成 (Jenkins) – 管道(管道的使用)

We use jenkins.
Jenkins has a RAD Studio plugin to integrate the compilation of Delphi projects into jobs. It's not mandatory to use it (plugin), we use command-line tools and MSBuild to compile the projects.

The project DUnItX (to create unit testing) integrates seamlessly with Jenkins.

Here you can find some articles about the integration of Jenkins and Delphi. Introduction, installation,... Are in Spanish but you can translate without problems and with included images and code are quite simple.

1- Integración continua con Delphi (GIT) (INTRODUCTION)
2- Integración continua con Delphi (Jenkins) – Instalación (INSTALLATION)
3- Integración continua con Delphi (Jenkins) – Primer proyecto (FIRST PROJECT)
4- Integración continua con Delphi (Jenkins) – Pipelines (USE OF PIPELINES)

寒尘 2024-09-04 03:13:47

将我们的 Parabuild 添加到工具列表中check out - 它几乎可以构建任何可以从命令行构建的东西 - 包括 Delphi,并且它提供与 Perforce 和其他版本控制系统(例如 Git 和 Bazaar)的集成。

Add our Parabuild to the list of tools to check out - it builds practically anything that can be built from the command line - that includes Delphi, and it provides integration with Perforce and other version control systems such as Git and Bazaar.

往日 2024-09-04 03:13:47

Hudson 使用起来很简单,带有一些基于 Web 的助手,因为 Delphi 项目是使用 MSBuild 构建的。

如果您需要更多自定义和第三方工具集成(例如集成指标工具),那么 CruiseControl.NET 是理想的解决方案。

看看我的 DelphiCodeToDoc 的 CC.NET 仪表板页面(您可以有还要查看配置文件)。我正在做结帐+ GUI 和命令行版本的编译以及单元测试+单元测试执行和报告+ ftp 上传构建交付

Hudson is simple to use, with some web-based assistants, as Delphi projects are built with MSBuild.

If you need more customization and 3rd party tools integration (integrate metrics tools for example) then CruiseControl.NET is the ideal solution.

Have a look to my CC.NET Dashboard page for DelphiCodeToDoc (and you can have a look to the configuration file also). I'm doing checkout + compilation of gui and command line version and unit test + unit test execution and report + ftp upload build delivery.

榕城若虚 2024-09-04 03:13:47

只是为了表达我对 CruiseControl.NET 的支持,因为 Delphi 2007 及更高版本基于 MSBuild,那么通过 CC.NET 构建应该没有问题。 DUNit 的某处有一个补丁,以便将结果输出到 XML 文件,然后可以将其集成到构建结果图表中。

Just to throw my support for CruiseControl.NET, as Delphi 2007 and above are based around MSBuild, then there should be no problem with builds via CC.NET. There is a patch somewhere for DUNit, so that it outputs the results to an XML file, and this can then be integrated into the builds results charts.

卷耳 2024-09-04 03:13:47

呃,你能定义一下你真正在寻找什么吗?

您使用了“持续集成”一词,但您只是指“持续构建”以确保它可以编译并喜欢,还是实际上意味着“持续集成”从某种意义上说,您还运行回归测试?

我很好奇你是如何做到这一点的(自动?)。

这并不是说它真的太重要了,因为精彩的 Hudson(这绝对不仅仅适用于 java)有许多插件,而且还允许您执行 DOS 批处理脚本 - 任何您可以执行的脚本。关心编写、构建、测试、报告结果等。

errrm, can you define what you are actually looking for?

You use the phrase continuous integration, but do you just mean continuous build to make sure it compiles and likes, or do you actually mean continuous integration in the sense that you also run regression tests?

I would be curios as to how you do that (Auto-it?).

Not that it really matters too much, because the wonderful Hudson (which is decidedly not just for java) has numerous plug-ins, but will also allow you to execute a DOS batch script - any script that you care to write, to build, to test, to report results, etc.

深空失忆 2024-09-04 03:13:47

另一种选择(虽然不是免费的,但有限用户 10 美元)是 Atlassian Bamboo。 JetBrains TeamCity 是另一个免费的(用户数量有限)。我已经在 Delphi 2009/2010 上尝试过这两种方法,并且它们工作得很好。两者都允许与 Perforce 以及其他 SCM 集成。

Another option (although not free, $10 for limited # of users) is Atlassian Bamboo. And JetBrains TeamCity is another that is free (with limited # of users). I've tried both with Delphi 2009/2010, and they work quite well. Both allowed integration with Perforce among other SCM's.

森末i 2024-09-04 03:13:47

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

看看这个教程

初始设置只需不到 5 分钟

We use Jenkins CI system with Owly CI tool as the build system and dependency handler.

Take a look on this tutorial

Initial setup takes less than 5 minutes

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文