2008-09-18 6 views
8

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

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

Любые предложения?

ответ

12

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

4

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

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

1

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

1

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

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

1

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

2

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

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

2

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

заканчивает тем, как это:

cap -f deploy.rb live deploy 

или

cap -f deploy.rb dev deploy 

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

+1

doddle (существительное): * неформальный (Brit) * что-то легко достигнутое :) -http: //bit.ly/fU2WSI – Dolph 2011-03-03 20:45:12

0

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

1

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

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^