Развертывание кода репозитория на нескольких машинах одновременно - PullRequest
2 голосов
/ 14 сентября 2009

Мой вопрос: как вы, ребята, внедряете один и тот же код из любой [D] VCS, которую вы используете на нескольких машинах? У вас есть автоматизированная система развертывания и если да, то что это? Это построено в доме? Существуют ли какие-либо инструменты, которые могут сделать это автоматически? Я спрашиваю, потому что мне довольно скучно обновлять до 20 машин каждый раз, когда я делаю какие-то модификации.

P.S .: Возможно, это относится к ServerFault, но я спрашиваю здесь, потому что я думаю о написании моей собственной системы развертывания на заказ.

Ответы [ 5 ]

2 голосов
/ 14 сентября 2009

Скатайте свои собственные rpm / deb / что угодно для вашего пакета, настройте свое собственное репо и регулярно работайте на своих машинах Это действительно не так сложно сделать, и он уже встроен в вашу систему, хорошо протестирован и загружен функциями. Вы можете использовать что-то вроде Func, если вам нужно вместо этого нажать.

1 голос
/ 07 марта 2011

Мы используем Capistrano для развертывания и Puppet для обслуживания серверов и предотвращения неизбежного «отклонения конфигурации», когда многие разработчики / инженеры возятся со списками пакетов и файлами конфигурации.

Обе эти программы написаны на Ruby, но мы используем их для нашей кодовой базы PHP, хранящейся в репозитории git.

1 голос
/ 14 сентября 2009

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

Я вижу две альтернативы, которые могут быть интересны.

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

  • Развертывание с использованием существующего менеджера пакетов. Вы можете настроить свой собственный apt (или эквивалентный) репозиторий и упаковать обновления, используя apt. Пусть ваша система непрерывной сборки собирает подходящие пакеты, но пусть администратор решит, следует ли отправлять их на сервер обновлений. Я думаю, что это единственное безопасное решение для производственных машин.

0 голосов
/ 25 октября 2009

В большинстве проектов, в которых я принимал участие на последнем этапе, всегда было развертывание с использованием сценария rsync для работы. таким образом, несколько целей встроены в этот процесс.

0 голосов
/ 14 сентября 2009

Я использую комбинацию пакетов deb с puppet для развертывания кода и настройки группы машин.

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