Лучший способ автоматизации ежедневной сборки - PullRequest
7 голосов
/ 10 сентября 2008

Хорошо, так что мы все знаем, что ежедневная сборка - это сердце проекта, но какой самый лучший способ его автоматизации?

У нас есть Perl-сценарии, которые обертывают наш конвейер, который включает ClearCase, VS2005 (C ++), Intel FORTRAN, Inno setup. Мы используем задания cron в UNIX для планирования сборки и размещаем простой веб-сервер Apache для просмотра и мониторинга сборки. В целом, это довольно сложно, я хотел бы знать, какое лучшее готовое решение, которое используют люди?

И да, я действительно сказал, что ФОРТРАНу иногда не удается избежать этого, он работает, нет смысла делать огромный проект повторной реализации для некоторого испытанного и проверенного кода FEA, который просто работает.

Ответы [ 9 ]

4 голосов
/ 10 сентября 2008

Для меня новинка, которую я слышал, довольно гладкая - hudson - также с поддержкой MSBuild.

3 голосов
/ 10 сентября 2008

Есть много инструментов, которые специально справляются с этим:

Инструменты имеют встроенную поддержку для наиболее распространенных типов сборки. Все они также поддерживают своего рода процесс сборки типа «запустить этот скрипт».

В конце вы должны использовать более приятные инструменты сборки (MSBuild, Ant, Maven, Make, ...), где вы можете, и заполнить пробелы в инструментах шансов с помощью пользовательских сценариев. Автоматическая сборка может просто вызывать их в правильном порядке.

3 голосов
/ 10 сентября 2008

Мы находимся в процессе внедрения CC.Net. До сих пор кажется, что это будет соответствовать вашей модели довольно хорошо.

Из коробки предлагается автоматическое построение, отслеживание результатов и уведомление. Я не уверен, насколько детализирован мониторинг встроенного процесса.

2 голосов
/ 19 сентября 2008

Вот лучший ресурс, который мы нашли, чтобы помочь нам выбрать инструмент непрерывной интеграции. На этой странице мы оцениваем 5 или 6 инструментов.

http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix

2 голосов
/ 10 сентября 2008

Мы используем TeamCity - но тогда это простая разработка на C # / Java - может быть, ваш конвейер можно сделать с помощью сценариев, которые он может использовать?

1 голос
/ 10 сентября 2008

Если вы работаете с Visual Studio, обязательно посмотрите Team Foundation Build , чтобы убедиться, что он подойдет для вашей ситуации.

Похоже, что блог Бака Ходжеса о версии VS 2008 тоже хороший ресурс.

1 голос
/ 10 сентября 2008

CC.NET очень мощный. Воспользовался этим и был действительно рад этому. Даже значок состояния в systray. Это небольшая деталь, но она дает вам хороший обзор «здоровья» проекта. Вы сразу же почувствуете мотивацию исправить тесты, когда увидите красный цвет.

Теперь мы используем самодельную серию скриптов. Поскольку мы пишем Python, компиляция не существует, поэтому единственной проблемой является запуск тестов.

1 голос
/ 10 сентября 2008

Я успешно использовал Visual Build Pro .

0 голосов
/ 07 января 2015

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

Из Jenkins wiki :

Среди этих вещей нынешний Дженкинс сосредоточен на следующих двух работах:

  • Построение / тестирование программных проектов непрерывно , как CruiseControl или DamageControl. Короче говоря, Jenkins предоставляет простую в использовании так называемую систему непрерывной интеграции, облегчающую разработчикам интеграцию изменений в проект, и облегчающую пользователям получение новой сборки. Автоматизированная непрерывная сборка повышает производительность.
  • Мониторинг выполнения внешних заданий , таких как задания cron и procmail, даже тех, которые выполняются на удаленном компьютере. Например, с помощью cron все, что вы получаете, это обычные электронные письма, которые фиксируют выходные данные, и вы должны внимательно посмотреть на них и заметить, когда они прервались. Дженкинс сохраняет эти результаты и позволяет вам легко заметить, когда что-то не так.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...