Как выполнить развертывание на нескольких избыточных производственных серверах с помощью «cap deploy»? - PullRequest
1 голос
/ 08 июня 2010

Capistrano отлично работает для развертывания на одном сервере.Тем не менее, у меня есть несколько производственных API-серверов для моего веб-приложения.При развертывании мой код должен быть развернут на каждом сервере API одновременно.Указание каждого сервера вручную НЕ является решением, которое я ищу (например, я не хочу делать «развертывание cap api1; развертывание cap api2»).

Есть ли способ, используя Capistrano, развернуть на всехсерверы сразу, просто с помощью "cap развертывания"?Мне интересно, какие изменения мне нужно было бы внести в типичный файл deploy.rb, нужно ли мне создавать отдельный файл для каждого сервера, и нужно ли и как менять файл Capfile.Кроме того, мне нужно иметь возможность указать разные пути deploy_to для каждого сервера.И в идеале мне не пришлось бы повторять вещи в разных конфигурационных файлах для разных серверов (например, не нужно было бы указывать: хранилище, приложение и т. Д. Несколько раз).

Я потратил часы на поискGoogle на это и просматривая учебники, но я не нашел ничего полезного.

Вот фрагмент из моего текущего файла deploy.rb:

set :application, "testapplication" 
set :repository,  "ssh://domain.com//srv/hg/#{application}" 
set :scm, :mercurial

set :deploy_to, "/srv/www/#{application}" 

role :web, "domain.com" 
role :app, "domain.com" 
role :db,  "domain.com", :primary => true, :norelease => true

Должен ли я просто использовать многоступенчатое расширение исделать это?

task :deploy_everything do
  system "cap api1 deploy" 
  system "cap api2 deploy" 
  system "cap api2 deploy" 
end

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

1 Ответ

0 голосов
/ 08 июня 2010

Возможно, вас заинтересовал заголовок "Несколько серверов" на странице Начало работы .Это то, что вы ищете?

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