Развертывание на нескольких серверах

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

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

Какие-либо предложения?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
8
0
6 849
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

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

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

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

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

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

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

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

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

Ответ принят как подходящий

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

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

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

cap -f deploy.rb live deploy

или же

cap -f deploy.rb dev deploy

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

doddle (имя существительное): неформальный (брит.) что-то легко выполнимое :) -bit.ly/fU2WSI

Dolph 03.03.2011 23:45

Я отметил сообщение о том, как развернуть ваши веб-сайты с помощью Subversion: http://blog.lavablast.com/post/2008/02/I2c-for-one2c-welcome-our-new-revision-control-overlords!.aspx

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

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

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

Другие вопросы по теме