Развертывание только одна роль / сервер с Капистрано

голоса
3

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

role :live, example.com
role :dev, dev.example.com

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

cap deploy live
cap ROLE=live deploy

Что мне не хватает? Я знаю, что могу написать пользовательскую задачу, которая отвечает только на одной роли, но я не хочу, чтобы написать целую кучу задач просто сказать ему, чтобы реагировать на ту или иную роль. Благодаря!

Задан 20/01/2010 в 00:00
источник пользователем
На других языках...                            


4 ответов

голоса
12

Capistrano Многоступенчатый, безусловно, решение, например, вы публикуемые для развертывания в среду. Что касается вашего вопроса о развертывании на роли или сервера, Capistrano имеет решение командной строки для этого тоже.

Для того, чтобы развернуть на одной роли (уведомление РОЛИ множественное число):

cap ROLES=web deploy

Для того, чтобы развернуть на несколько ролей:

cap ROLES=app,web deploy

Для того, чтобы развернуть на конкретный сервер (уведомление HOSTS во множественном числе):

cap HOSTS=web1.myserver.com deploy

Для развертывания на несколько серверов:

cap HOSTS=web1.myserver.com,web2.myserver.com deploy

Для того, чтобы развернуть на сервер (ы) с ролью (ы):

cap HOSTS=web1.myserver.com ROLES=db deploy
Ответил 29/11/2012 в 22:01
источник пользователем

голоса
3

Вы можете сделать что-то вроде этого:

task :dev do
    role :env, "dev.example.com"
end

task :prod do
    role :env, "example.com"
end

Затем с помощью:

cap dev deploy
cap prod deploy
Ответил 21/07/2010 в 18:47
источник пользователем

голоса
2

Просто еще один намек: если вы используете многоступенчатый забудьте положить РОЛИ постоянные Перед capкомандой.

ROLES=web cap production deploy

или после того, как окружающая среды

cap production ROLES=web deploy

Если вы поставите в качестве первого параметра, многоступенчатый будет рассматривать его как сценическое имя и заменить по умолчанию один:

cap ROLES=web production deploy

* [...] executing `dev'
* [...] executing `production'
Ответил 23/06/2013 в 15:30
источник пользователем

голоса
1

Попробуйте Capistrano многоступенчатые:

http://weblog.jamisbuck.org/2007/7/23/capistrano-multistage

Роли предназначены для развертывания различных сегментов на разных серверах, так как проставление для развертывания всей платформы, чтобы только один набор серверов.

Ответил 20/01/2010 в 03:00
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more