Подобно созданию программного обеспечения, инструменты должны использоваться для развертывания обновлений рабочего сервера (будь то БД, веб-сайт, конфигурации маршрутизатора и т. Д.). Использование инструментов уменьшает определенные типы человеческих ошибок (например, пропущенные шаги).
- Какие инструменты доступны для развертывания программного обеспечения / конфигурации / и т. Д. (Бесплатные или коммерческие)?
пожалуйста
- Список одного инструмента на пост
- Какую часть процесса развертывания он выполняет
- Особые преимущества или недостатки использования этого инструмента (т. Е. Только .NET, поддерживает все платформы LAMP / WAMP и т. Д.)
Не добавляйте инструмент, который уже существует - добавьте комментарии, если у вас есть что-то особенное, чтобы сказать о данном ответе.
-Адам
deployment
process
development
Адам Дэвис
источник
источник
Ответы:
Puppet - более недавно написанный инструмент, написанный на Ruby, который завоевывает позиции против cfengine.
источник
cfengine - канонический пример в мире Unix.
источник
Мне очень нравится cfengine 3
Он может в основном заботиться о каждой части процесса развертывания, учитывая правильную конфигурацию: копировать файлы из местоположения, автоматически использовать систему упаковки (например, apt, yum) для установки / обновления пакета, запуска / остановки служб, проверки файлов / страниц. содержание.
Я использую его для установки (или проверки наличия) пакетов, и, поскольку я больше разбираюсь в Java, при необходимости развертывания чего-либо я загружаю архив из центральной точки, останавливаю службу Tomcat, копирую архив в Tomcat каталог, запустите службу и убедитесь, что правильное значение можно найти на определенной обслуживаемой странице. Да, cfengine делает все это почти самостоятельно.
Преимущества:
Недостатки:
источник
Хотя Capistrano является главным инструментом разработчика, он также является хорошим выбором.
Я не уверен, насколько хорошо он поддерживается для платформ Windows, кроме того, что он работает. Linux / OSX полностью поддерживаются.
Вы можете использовать его для выполнения практически любых операций на серверах развертывания, от обновления файлов до резервного копирования базы данных и управления пользователями.
В сочетании с Git-репозиторием вы получаете управление изменениями и быстрое и простое развертывание.
источник
Инструмент: Chef - это новый инструмент, выпущенный в январе Opscode . Он написан на Ruby и его язык конфигурации - чистый Ruby DSL. Это молодой инструмент, находящийся в стадии активной разработки, но его используют в производстве несколько компаний.
Chef может управлять всей вашей инфраструктурой, от настройки служб загрузки и кикстарта PXE до развертывания приложений и управления пользователями. Это очень гибкий, расширяемый и мощный.
Конкретными преимуществами являются чистый Ruby DSL, RESTful API , доступные для поиска данные узлов и множество готовых к использованию кулинарных книг . Благодаря Ruby DSL сложные структуры данных и логика могут использоваться в рецептах, а вместе с RESTful API делают Chef мощным инструментом для программирования инфраструктуры.
источник
В данный момент мы играем с Fabric , он довольно голый, но в духе Capistrano с использованием python.
источник
Мы используем Setup Factory
источник
Для миграций MS SQL Server sp_help_revlogin неоценим для миграции пользователей, чтобы перенести пользователей / SIDs / pwds в новое окно.
источник
Для окон: SCCM
источник
Мы используем набор инструментов Shavlik для обработки исправлений, настройки и аудита.
Я не могу думать ни о каких конкретных плюсах или минусах - это работает довольно хорошо, и у нас не было никаких реальных проблем с этим, которые я могу вспомнить. (Это самое лучшее, что я могу сказать об этом - оно работает достаточно хорошо, и мне не нужно об этом думать :)
источник
Я хотел бы дать большой +1 как Capistrano, так и Chef. Оба очень хороши в написании определенных задач по развертыванию и управлению через ssh. Куколка тоже интересна, но старая поговорка обычно гласит: «Мастер на все руки, мастер ни один». Лучше всего было бы найти самый минимальный инструмент для тех заданий, которые вы хотите выполнить, и выполнять его.
источник