Развертывание на нескольких серверах - PullRequest
8 голосов
/ 19 сентября 2008

Мне нужно развернуть код php / html / css / etc на нескольких серверах, и я ищу варианты программного обеспечения, которое позволяет легко и безопасно развертывать на нескольких серверах.

Также помогает, если это может быть связано с моим SVN.

Есть предложения?

Ответы [ 11 ]

12 голосов
/ 19 сентября 2008

Capistrano очень удобен для этого. Есть несколько человек, которые используют его ( 1 , 2 , 3 ) для развертывания кода PHP, о чем свидетельствует быстрый поиск .

4 голосов
/ 19 сентября 2008

Настройка аутентификации по публичному ключу без пароля с помощью ssh позволит вам очень быстро отправлять файлы на любой из ваших серверов (или автоматизироваться с помощью сценария оболочки).

Вот простой учебник: http://rcsg -gsir.imsb-dsgi.nrc-cnrc.gc.ca / documents / internet / node31.html

2 голосов
/ 19 сентября 2008

Я второй Капистрано. Это невероятно мощный и гибкий. Наш текущий проект использует Capistrano для развертывания на разных серверах, а также на нескольких серверах. Мы передаем два аргумента команде cap: 1) имя набора параметров конфигурации конкретного компьютера для запуска и 2) название действия для запуска

выглядит так:

cap -f deploy.rb live deploy

или

cap -f deploy.rb dev deploy

Конечно, вариант использования по умолчанию - развертывание на нескольких машинах одновременно - это пустяк с Capistrano, и вам не нужно иметь Capistrano на машинах, на которых вы развертываете. В общем, вкусная технология.

2 голосов
/ 19 сентября 2008

Если вы работаете в Redhat или Debian, рассмотрите возможность упаковки вашего кода в RPM или Debs. Затем создайте репозиторий yum или dpkg и поместите туда свои пакеты. Затем вы можете использовать управление пакетами вашей системы для выполнения обновлений / откатов и т. Д. Вы даже можете использовать puppet для автоматизации процесса.

Если вы хотите связать его с Subversion, вы можете создать ветку для каждой новой версии. Используйте сценарии фиксации для создания RPM, когда в каталоге появляется новая ветвь.

1 голос
/ 18 апреля 2011

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

1 голос
/ 19 сентября 2008

Я также забыл упомянуть, что если вы используете rsync, вы можете настроить rsync на использование ssh, поэтому вы будете передавать только измененные файлы, экономя время и пропускную способность.

1 голос
/ 19 сентября 2008

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

Вы хотите экспортировать свое svn-дерево в какой-то каталог, а затем rsync оттуда в дерево каталогов удаленного хоста.

1 голос
/ 19 сентября 2008

Я использовал Automated Build Studio ранее для аналогичной задачи. Это дает вам большую гибкость в том, что вы можете сделать.

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

Настройка Capistrano слишком сложна. Мы обнаружили, что KwateeSDCM очень прост в использовании с простым веб-интерфейсом и без сценариев. Мы быстро выполнили настройку развертывания для конфигурации Dev и QA на серверах Windows и Linux.

0 голосов
/ 07 декабря 2009

Я обнаружил, что capistrano очень прост в использовании после его настройки. Файл конфигурации может сначала быть немного запутанным для более сложных сред, но вскоре он становится стоящим. Развертываю до 14 серверов на производстве. Я также использую несколько сред для развертывания на промежуточном сервере. Одна странность - в Ruby есть ошибка, которая нарушает параллельное развертывание, но серийно не так уж и плоха с экспортом SVN.

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