Автоматизация сборки для Delphi + Oracle - PullRequest
4 голосов
/ 25 февраля 2010

на моей работе мы сейчас ищем автоматизированный инструмент для сборки. Мы немного погуглили, но существует так много возможностей, что, если честно, мы не уверены, какой инструмент является лучшим.

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

  1. Интеграция с Subversion, что означает, что он должен иметь возможность обновлять и фиксировать.
  2. Различный инструмент или возможность интеграции с ним, а также возможность автоматического объединения файлов (ну, по крайней мере, не проблемные).
  3. Автоматизация сборки Delphi с использованием компилятора командной строки.
  4. Интеграция с Oracle, что означает возможность запуска сценариев SQL и компиляции пакетов PL / SQL, функций и т. Д.
  5. Отправка электронных писем со статусом сборки (я думаю, это то, что есть у всех).

Дополнительные функции приветствуются, но в данный момент не нужны. Все, что можно получить по крайней мере в пунктах 1 и 2, было бы замечательно.

Если бы кто-нибудь мог указать нам какой-то конкретный инструмент, мы были бы очень благодарны.

Заранее спасибо и наилучшими пожеланиями

Ответы [ 6 ]

9 голосов
/ 25 февраля 2010

Для моих проектов Delphi я использовал FinalBuilder (само приложение Delphi), когда. Я всегда был очень доволен этим продуктом, и он работал очень хорошо.

Тем временем они также запустили серверную версию инструмента для сборки, так что вы можете настроить полноценный сервер для сборки и создать свой код там.

Еще одним достойным соперником в те времена был Visual Build - особенность двух функций почти совпадала, но "чувство" приложения, простота использования, было с Finalbuilder, в мое личное мнение.

Я не уверен, имеет ли какая-либо из них прямую и конкретную поддержку Oracle, но по крайней мере Finalbuilder может запускать все, что может быть запущено из командной строки, так что на самом деле у вас должно быть множество вариантов.

4 голосов
/ 25 февраля 2010

Я использовал CruiseControl.NET в качестве сервера непрерывной интеграции для наших сборок Delphi, который прекрасно интегрируется с NAnt в качестве языка сценариев сборки.

Забудьте о CC.NET, простое использование NAnt обеспечит большинство / все, что вам нужно, я думаю.

В сочетании с дополнительной библиотекой дополнительных задач NAnt-Contrib я реализовал все, что вы упомянули, за исключением интеграции с Oracle. Однако вы можете легко вызывать командную строку из сценариев NAnt или писать собственные задачи NAnt, используя любой язык .NET.

У NAnt есть задачи для интеграции с Subversion, или вы можете просто вызвать клиент командной строки svn.

Я вызывал BeyondCompare как инструмент сравнения из моих сценариев NAnt, использовал NAnt для отправки настраиваемых электронных писем в формате HTML и выполнения сборок Installshield, а также явно выполнял компилятор строки Delphi и компилятор ресурсов.

NAnt бесплатен и имеет открытый код, его стоит проверить.

3 голосов
/ 25 февраля 2010

Мы используем FinalBuilder для обработки требований 1, 3, 4 и 5 и Beyond Compare для обработки требования 2 и очень довольны обоими этими инструментами.

3 голосов
/ 25 февраля 2010

Проверьте также Automated Build Studio от AutomatedQA, он имеет множество функций, которые вы запрашиваете.

3 голосов
/ 25 февраля 2010

Apache Ant с открытым исходным кодом и содержит множество задач из коробки , а также очень полную среду сценариев и управления зависимостями.

Также доступно: zip / unzip, tar / untar, xmlvalidate, xslt, ftp, telnet, scp, sshexec, cab, ...

2 голосов
/ 21 января 2011

Я удивлен, что никто не упомянул Хадсон .Большинство инструментов сборки, кажется, предназначаются для определенного языка или платформы.Хадсон использует другой подход.Он обеспечивает архитектуру plugin , поэтому вы можете создать сервер сборки, соответствующий вашим потребностям.Сам проект написан на Java, но полностью самодостаточен (за исключением того, что он, конечно, зависит от JRE).Он использует собственный встроенный веб-сервер для обеспечения пользовательского интерфейса.

Embarcadero использует Hudson экстенсивно , и есть несколько замечательных статей для начала работы

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

...