Агностическое автоматизированное развертывание - PullRequest
3 голосов
/ 05 октября 2010

Что вы используете для автоматического развертывания приложений для различных типов серверных приложений (web, socket, daemon), которые используют различные технологии (разные БД, языки и т. Д.)?

Здесь мы используем Python, Java и Ruby, и в будущем можем использовать и другие языки.

Обновление: я в конечном итоге использовал Puppet для управления всеми настройками сервера, настройками и развертыванием.Для запуска развертывания более новых версий я использовал скрипты Python Fabric.

Ответы [ 8 ]

3 голосов
/ 05 октября 2010

Я использую Puppet для некоторых развертываний / начальной конфигурации сервера.Maven и Ant для проектов на основе Java.

2 голосов
/ 14 июня 2011

Перейти на KWateeSDCM.Он поставляется с простым веб-интерфейсом, не требует сложных сценариев и прекрасно интегрируется в цепочку сборки с помощью REST API.

2 голосов
/ 05 октября 2010

Вы можете использовать Ant, Makefile или пакетный скрипт.Или их комбинация.

1 голос
/ 05 октября 2010

Мы используем Ant или Maven для различных проектов, которые у нас есть (в зависимости от необходимости и возраста проекта ...). Мы склонны использовать Jenkins (ранее известный как Hudson) в качестве инструмента для сборки и развертывания.

И затем мы призываем разработчиков писать код, который не содержит жесткого кода для БД, URL и т. Д. Мы пытаемся абстрагироваться через контейнер (т. Е. Источники данных, чистый JMS API и т. Д.) При запуске на сервере приложений. И мы склонны абстрагировать особенности среды через файлы свойств, которые мы ищем во время выполнения. Путь к файлу свойств должен быть определен как переменная на сервере. Таким образом, мы можем быть достаточно гибкими, чтобы создать код один раз и перенести его во все наши среды.

1 голос
/ 05 октября 2010

вы можете использовать maven, ant, ivy вместе с hudson для java проектов.

1 голос
/ 05 октября 2010

Я думаю, что лучший выбор, который вы могли бы сделать, это использовать Maven.Даже если maven в основном используется для проектов Java, вы можете с помощью соответствующих плагинов (или написанных вами) развернуть что угодно в любом месте.

1 голос
/ 05 октября 2010

Для Python вы можете использовать Fabric или Paver. Для Ruby есть capistrano и «vlad the deployer». Для Java это Ant.

Для проектов PHP / Python я также использую Peritor Webistrano, удобный интерфейс дляCapistrano.Он включает в себя изменение нескольких рецептов по умолчанию, чтобы удалить специфичные для рельсов вещи, но это стоит того, как только вы настроите его правильно.

1 голос
/ 05 октября 2010

Мы используем Maven и вытаскиваем в плагин ant при необходимости.В свою очередь, муравьиный плагин очень иногда вызывает какой-то родной язык сценариев / application / packager / что угодно, но мы обнаруживаем, что со временем мы обычно можем найти плагин / задачу Maven или ANT, чтобы сделать свое дело.

Возможно, вы захотите посмотреть Непрерывное развертывание, это довольно актуальная тема в области сборки и CI прямо сейчас.

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