Инструменты непрерывной интеграции с & # 8220; pipe & # 8221; служба поддержки?

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

Вопрос

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

<Ол>
  • Поддержка добавочной обратной связи, чтобы мы могли видеть результаты сборки, модульных тестов, быстрых тестов, более длительных тестов, статического анализа и т. д. по мере их появления.

  • Зависимость задачи: в случае сбоя сборки тесты запускать не следует, но могут быть и другие задачи (например, lint или что-то в этом роде).

  • Поддержка нескольких инструментов сборки и тестирования (включая пользовательские).

  • Поддержка нескольких платформ (Linux, Mac, возможно, Windows).

  • Некоторые возможности архивирования были бы великолепны, например, файлы журналов, выходные данные сборки / тестирования и т. д. Естественно, это может стать неуправляемо большим, поэтому в идеале некоторые данные будут очищаться после X дней или Y сборок.

  • Любые указатели или личные советы приветствуются.

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

    Решение

    Возможно, вы захотите взглянуть на Дженкинса (ранее Гудзона) .

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

    Я использую Anthill , но вы должны заплатить за него.

    Automated Build Studio подходит близко, хотя, вероятно, это не так Это вариант для вас из-за его природы только для окон.

    <Ол>
  • Да. Веб-интерфейс предоставляет дополнительную информацию по мере выполнения сборок, как в деталях, так и в процентах.
  • Да. Процесс сборки представляет собой иерархию задач. Вы можете определить, является ли задача неудачной, продолженной или неудачной.
  • Да. Задачи могут быть чем угодно. Инструментарий задач, которые его сопровождают, довольно полон.
  • Нет. Сервер сборки должен быть Windows-машиной. Однако вы можете начать сборку из веб-интерфейса.
  • Да. Каждая сборка регистрируется в деталях, иерархически, поэтому легко определить, что происходило на каждом этапе.
  • Я думаю, buildbot сделает все, что вы захотите:

    <Ол>
  • Веб-интерфейс отображает вывод команд.
  • полные зависимости задачи
  • Полностью настраиваемые инструменты - скрипты на python, но в основном скрипты оболочки
  • В настоящее время мы используем его в Linux, Mac, Solaris, HP-UX
  • Он записывает все, я не знаю, как / если он очищает вещи.
  • Придется согласиться с опцией продуманной работы - перейдите на Agile Release Management " http://www.thoughtworks-studios.com/go-agile-release-management

    В корпоративной версии есть бесплатная версия сообщества и некоторые полезные функции, такие как конфигурации среды и развертывание определенного артефакта (версии) в определенных средах.

    Моя настройка JetBrains TeamCity приблизительно соответствует вашим потребностям.

    В рамках одного проекта я настроил несколько разных конфигураций сборки.

    Разница между каждой конфигурацией сборки заключается в выборе целей сборки (я использую NAnt) и в запуске.

    У меня есть "интеграция XYZ" конфигурация, которая выполняет отладочную сборку и запускает несколько тестов NUnit. Это срабатывает через 60 секунд после завершения регистрации, что дает быструю обратную связь команде разработчиков.

    У меня также есть "XYZ Daily" конфигурация, которая выполняет отладочную сборку, запускает тесты NUnit, затем создает несколько MSI и компилирует некоторую документацию. Как вы можете догадаться, это выполняется один раз в день.

    Вы можете сделать то же самое, но с более широким диапазоном конфигураций.

    Мы используем ПО Hericus Software Zed Builds и управление ошибками и он может обрабатывать то, что вы описываете. Наши основные сборки состоят из более чем 61 дискретного этапа, охватывающего компиляцию для Java, C ++, C # и сборочные сборки для 5 различных платформ ОС. Некоторые шаги выполняются параллельно, некоторые могут завершиться сбоем без сбоя всей сборки, а многие шаги выполняются удаленно на разных машинах.

    1) Да. Поскольку шаги выполняются для сборки, вы можете сразу увидеть результаты шага, не дожидаясь завершения всей сборки.

    2) Да. Вы можете определить, является ли сбой шага причиной полного сбоя сборки или нет. Возможность создать «дочерний» или "sub" сборки, вызываемые "родителем" или "мастер" Сборка обеспечивает исключительную гибкость.

    3) Да. Мы используем make-файлы, ant, решения C # и несколько пользовательских скриптов, и все они хорошо интегрируются.

    4) Да. Сервер сборки - это java и требует только 1.6 JDK, поэтому любые платформы работают либо для основного сервера сборки, либо для серверов спутниковой сборки.

    5) Да. Все скопировано в сборку " статус " каталог сохранен. Это включает в себя стандартный вывод команды / ошибка, которую можно просмотреть на веб-сайте. Вы выбираете, сколько " dev " история сборки, чтобы сохранить с точки зрения количества сборок. Сборка также может быть повышена до «QA». в этом случае он не будет удален до тех пор, пока не будет удален из «QA». С помощью QA вы можете продвигать сборку до «Производство» который сохранит все артефакты сборки, пока вы не решите их удалить.

    попробуйте Круиз от Thoughtworks

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