Система непрерывной интеграции для Delphi

26

Существуют ли какие-либо CI-системы для Delphi, такие как Hudson для Java? Есть ли у Хадсона какие-либо интегралы в Delphi?

Теги:
continuous-integration

11 ответов

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>&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>

sip.build Delphi-7 target создает тестовый набор проектов (DUnit TextTestRunner), и поэтому результат задания - это просто счет ошибок/ошибок при помощи:

var
  R: TTestResult;

begin
  R := TextTestRunner.RunRegisteredTests;
  ExitCode := R.ErrorCount + R.FailureCount;
end;
  • 6
    +1 за Хадсона - вы могли бы получить больше, если объясните, как, конечно :-)
  • 2
    +1 для Hudson Мы используем Hudson + Pasdoc + DUnit + InnoSetup + SourceMonitor
Показать ещё 4 комментария
16
  • 1
    Мы используем это без проблем. FinalBuilder всегда в курсе последних версий Delphi. (Частично написано на Delphi)
  • 0
    Я попробую
7

Мы используем CruiseControl.NET, который отлично работает с Delphi.

5

Hudson отлично, он также доступен как Настройка MSI. Пользователи старых версий Delphi (pre MSBuild) могут создавать сценарии сборки с популярными средами Apache Ant и NAnt build script. Разумеется, возможна также простая сборка командной строки (пакетная script).

Один из основных моментов этого инсталлятор заключается в том, что он поставляется с JRE, быть полностью автономным. Это потому что пользователи Windows обычно не работают знать, что делать с файлом *.war, и они вообще не любят ходить в командной строки и запуска Java команды вручную.

Таким образом, легко попробовать, не пройдя слишком много инсталляторов и командной строки.

И после установки обязательно посетите страницу подключения в приложении администрирования, есть много расширений, которые также полезны для разработчиков Delphi. Обзор плагина находится в режиме онлайн здесь.

Инструменты Hudson для Delphi: есть также Инструмент покрытия кода для Delphi с поддержкой Hudson здесь.

TeamCity - еще одна очень приятная система CI. Это коммерческий продукт, но он предлагает бесплатную лицензию для 20 пользователей и 20 конфигураций сборки для 3 агентов сборки.

Bamboo - это система CI для любого языка. Он доступен от Atlassian. Его цена начинается с 10 долларов США - это включает в себя все функции и неограниченные пользователи, но ограничено 10 планами, выполняется сборка только на том сервере, на котором она установлена. Он может использовать экземпляры Amazon Elastic Compute Cloud в качестве удаленных агентов.

Автоматическая сборка Studio от SmartBear. С помощью Automated Build Studio Server он представил CI некоторое время до FinalBuilder.

5

Кажется, что сам Embarcadero использует Хадсона. См. Комментарий от Ника Ходжеса, менеджера по развитию в Embarcadero. http://blogs.embarcadero.com/nickhodges/2010/03/10/39369#comment-29952

  • 0
    Они используют как Hudson, так и Cruisecontrol, в зависимости от команды, продукта и языка реализации. В основном Хадсон.
1

Добавьте наш Parabuild в список инструментов для проверки - он создает практически что-либо, который может быть создан из командной строки, включая Delphi, и обеспечивает интеграцию с Perforce и другими системами управления версиями, такими как Git и Bazaar.

0

Мы используем систему Jenkins CI с инструментом Owly CI в качестве системы сборки и обработчика зависимостей.

Взгляните на это tutorial

Первоначальная установка занимает менее 5 минут

0

Другой вариант (хотя и не бесплатный, $10 для ограниченного числа пользователей) Atlassian Bamboo. И JetBrains TeamCity - это еще один бесплатный (с ограниченным числом пользователей). Я пробовал оба с Delphi 2009/2010, и они работают неплохо. Оба разрешили интеграцию с Perforce среди других SCM.

0

Просто, чтобы бросить мою поддержку CruiseControl.NET, поскольку Delphi 2007 и выше основаны на MSBuild, тогда не должно быть никаких проблем с сборками через CC.NET. Для DUNit есть патч, так что он выводит результаты в файл XML, а затем его можно интегрировать в диаграммы результатов построения.

0

errrm, можете ли вы определить, что вы действительно ищете?

Вы используете фразу continuous integration, но вы просто имеете в виду continuous build, чтобы убедиться, что она компилируется и нравится, или вы действительно имеете в виду continuous integration в том смысле, что вы также запускаете регрессионные тесты?

Я был бы любопытным, как вы это делаете (Auto-it?).

Не то, чтобы это было очень важно, потому что замечательный Hudson (который явно не только для java) имеет множество плагинов, но также позволит вам выполнить пакет DOS script - любой script, который вы заботиться о том, чтобы писать, строить, тестировать, сообщать результаты и т.д.

  • 0
    регрессионный тест был бы отличным, но я не знаю, как это сделать. Я знал, что Хадсон очень гибкий, но я действительно не хочу писать собственные пакетные сценарии. Готовое решение было бы неплохо.
0

Hudson прост в использовании, с некоторыми помощниками на базе Интернета, поскольку проекты Delphi построены с помощью MSBuild.

Если вам нужна дополнительная настройка и интеграция сторонних инструментов (например, интегрируйте инструменты показателей), то CruiseControl.NET - идеальное решение.

Посмотрите на мою страницу панели инструментов CC.NET для DelphiCodeToDoc (и вы также можете посмотреть в файл конфигурации). Я делаю checkout + компиляцию версии gui и командной строки и unit test + unit test выполнение и отправку отчетов + ftp upload.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню