Можно ли указать конкретный сервер в командной строке Capistrano? - PullRequest
1 голос
/ 16 января 2010

Я только что попытался запустить

cap deploy:setup

в командной строке, но она хотела, чтобы она работала только на одном конкретном сервере, а не на всех. Есть ли способ запустить задачу только на одном сервере из командной строки , или мне нужно определить это таким образом в файле deploy.rb?

1 Ответ

1 голос
/ 17 января 2010

Используете ли вы capistrano-многоступенчатый ? Если нет, я рекомендую вам это сделать, я полагаю, что вы можете добиться того же самого только с помощью deploy.rb, но лично я просто нахожу этот способ проще, и это значительно упрощает этот процесс, особенно если вы начинаете делать разные вещи в производстве, постановке или других этапы.

Как правило, после того, как вы установили гем локально, вы можете просто запустить такие команды:

cap staging deploy:setup 

Где часть 'staging' соответствует одному из ваших сценических файлов (см. Ниже).

Чтобы начать работу, измените deploy.rb на что-то вроде этого:

set :stages, %w(staging production)
set :default_stage, "staging"
require 'capistrano/ext/multistage'
after "deploy", "deploy:cleanup"

Затем добавьте папку с именем deploy в каталог config вашего приложения rails. Там вы можете разместить свои отдельные файлы развертывания, например, staging.rb и production.rb.

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