Лучший способ автоматизации ежедневной сборки

StackOverflow https://stackoverflow.com/questions/53766

  •  09-06-2019
  •  | 
  •  

Вопрос

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

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

И да, я действительно сказал, что от FORTRAN иногда никуда не деться, это работает, нет смысла делать огромный проект по повторной реализации для какого-то испытанного кода FEA, который просто работает.

Это было полезно?

Решение

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

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

Другие советы

Один из новых для меня, который, как я слышал, довольно ловкий, это хадсон - также с поддержкой MSBuild.

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

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

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

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

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

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

Я добился успеха, используя Визуальная сборка Pro.

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

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

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

Это похоже на Бака Ходжеса ' запись в блоге о версии VS 2008 это тоже хороший ресурс.

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

Из самого Дженкинс вики:

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top