Какие инструменты вы используете для автоматизированных сборок / автоматизированных развертываний?Почему?[закрыто]
-
01-07-2019 - |
Вопрос
Какие инструменты вы используете для автоматизированных сборок / автоматизированных развертываний?Почему?
Какие инструменты вы рекомендуете?
Решение
Хадсон для автоматизированных сборок.Я выбрал его, потому что он был самым простым в настройке и демонстрации.Слишком сложная и неказистая на вид система не произведет достаточного впечатления на руководство, чтобы подключить его к автоматизированной сборке.Особенно в проекте, который имеет большую инерцию.
Другие советы
NAnt для сборок (но MSBuild, Rake, почти все, что угодно, было бы прекрасно) и CruiseControl.NET для развертываний.В настоящее время я работаю с новым Cruise от ThoughtWorks studios, поскольку он предоставляет лучший способ создания различных конвейеров и позволяет мне развертывать любую версию, которую я хочу, в целевой среде.
Мы используем Командный город, от JetBrains.Они также создают Resharper И IntelliJ.
Мы используем его для создания наших приложений .Net, и его было довольно легко настроить, подключиться к TFS и запустить дополнительные инструменты.Он очень отшлифован и на самом деле чем-то напоминает мне этот сайт.Оказалось, что это намного приятнее, чем CruiseControl, и для нашей команды это бесплатно.Если вам нужно много разных сборок, больше сборок для каждого пользователя и так далее, то это стоит немного (но все же вполне разумно).
Как ни странно, я только что потратил две недели на капитальный ремонт (читай, на реализацию с нуля) нашего ежевечернего процесса сборки.Очень весело (нет, правда).Я поиграл с идеей установки Team Foundation Server, но мы используем Perforce для управления версиями, и я не подумал, что это того стоит.
Наш процесс теперь представляет собой набор сценариев Powershell, которые выполняются на выделенном сервере сборки / тестирования и выполняют следующее в запланированной задаче:
Уничтожьте все дерево исходных текстов (убедитесь, что вы ничего не проверяли в первую очередь!)
Удалите все дерево исходных текстов из Perforce (из последней помеченной сборки)
Создайте отчет об изменениях (путем синхронизации с HEAD и просмотра результатов).
Создайте приложение
Проиндексируйте PDB-файлы в исходники Perforce
Храните двоичные файлы и символы на выделенном сервере символов
Запускайте тестовые проекты
Создайте программу установки
Этикетка
Отправляйте электронные письма в группу с отчетами о состоянии дел по всему вышеперечисленному
Работает хорошо.
make
и bash
в linux
make
и cmd
в Windows
Студия автоматизированной сборки.
Вместо того чтобы позволять вам работать со скриптами или XML-файлами, он поставляется с предопределенными графическими операциями макросов, что позволяет вам легко создавать задачи.
Для наших материалов, компилируемых под Windows, мы используем Завершающий конструктор.
Управление круизом для автоматизированных сборок.Отлично работает.
Для автоматизированных сборок, я думаю, лучший инструмент, работающий прямо сейчас, - это Team City от JetBrain .Бесплатная версия обладает всеми функциями, необходимыми для большинства команд из 5-10 человек.Настройка проста, настройка новых проектов безболезненна (относительно) и, самое главное, надежна.
Для автоматической миграции ничто не сравнится с PowerShell.
UppercuT использует NAnt для сборки, и это безумно простой в использовании фреймворк сборки.
Автоматизированные сборки так же просты, как (1) название решения, (2) путь управления версиями, (3) название компании для большинства проектов!
http://code.google.com/p/uppercut/
Вот несколько хороших объяснений: АпперкоТ
Дополнительная информация
UppercuT - это обычная автоматическая сборка, которая означает, что вы настраиваете конфигурационный файл, а затем получаете кучу функций бесплатно.Возможно, самой мощной функцией является возможность указывать параметры среды в ОДНОМ месте и применять их везде, включая документацию при сборке исходного кода.
Доступная документация: https://github.com/chucknorris/uppercut/wiki
Характеристики :
- Простая настройка
- Простые обновления
- Пользовательские точки расширения (pre, post и replace) для каждого этапа процесса сборки http://uppercut.pbworks.com/CustomizeUsingExtensionPoints
- Имеет документацию для интеграции с Team City, CruiseControl.NET и Jenkins (ранее Hudson) https://github.com/chucknorris/uppercut/tree/master/docs
- Работает в Linux без Mono
- Управление версиями библиотек DLL на основе номера сборки и ревизий системы управления версиями (SVN, TFS, Git, HG)
- Действия по компиляции - F5 или Ctrl + Shift + B
- Строгое присвоение имен стало таким же простым, как true / false
- Тестирование и анализ кода
- Тестирование
- НАнит
- MbUnit v2
- Gallio
- xUnit ( единица измерения )
- НКовер
- NDepend
- Нитрик
- Анализатор Мономиграции
- Тестирование
- Запутывание
- Ильмерге
- Создание шаблонов среды (ConfigBuilder, DocBuilder, SQLBuilder, DeploymentBuilder) https://github.com/chucknorris/uppercut/blob/master/docs/ConfigBuilder.doc?raw=true
- Упаковка выходных данных для подготовки к развертыванию
- Застегивает молнию на выходе
На работе мы используем старые добрые Муравей для создания наших Java-сервлетов.
Раньше мы использовали визуальную сборку из Kinook software, но недавно с нашим новым приложением мы перешли на MSBuild, поскольку у него была лучшая интеграция с TFS и возможность создавать пользовательские задачи.
Определенно, GNU Autotools.Тот Самый автоконфликт и автоматизировать являются стандартом де-факто для систем unix.
Я добился успеха, используя строительный бот, запускаемый скриптом после фиксации в репозитории subversion.Это использовалось как для автоматизированных сборок, так и для автоматизированного тестирования.
МУРАВЕЙ как для сборки, так и для развертывания / установки.
Отличный кроссплатформенный установщик.
Мы используем Сборки Hericus Zed И устранение ошибок для наших автоматизированных сборок.
У нас есть 4 ветви кода, каждая с java, c ++, C #, кроссплатформенными компиляторами и установщиками для 5 ОС.
Создавайте для сборок.Пакеты Debian для развертывания (поскольку он работает на наших производственных серверах).
Командный город запуск сценариев NAnt для сборки / упаковки и PowerShell для развертывания.
Я обнаружил, что использование NAnt, работающего на TeamCity, вместо встроенных TeamCity runners позволяет нам иметь гораздо более насыщенный процесс сборки (например.css-минимайзер и т.д.).Это также означает, что полный процесс сборки / упаковки может быть запущен на любом компьютере разработчика, а не только на серверах TeamCity, что значительно упрощает настройку и отладку проблем в процессе сборки.