Capistrano: условно запускать команды после развертывания на удаленном - PullRequest
1 голос
/ 26 ноября 2010

Я хочу удалить некоторые папки на удаленном компьютере после завершения развертывания. Я сейчас использую

task :set_permissions do

  parallel do |session|
    session.when "in?(:xb_test)", "cat #{deploy_to}test.htaccess >> #{current_path}/.htaccess"
  end

На самом деле два вопроса: это лучший способ сделать это и как я могу выполнить оператор такого типа для нескольких функций без необходимости писать код повторения?

session.when "in?(:xb_test)" ...
session.when "in?(:xb_dev)" ...
session.when "in?(:xb_live)" ...

Любая помощь будет принята, поскольку я довольно новичок в Capistrano

1 Ответ

1 голос
/ 26 ноября 2010
  • По поводу вашего первого вопроса: «Это лучший способ сделать это?» :

    Я не думаю, что это лучший подход. "test", "dev" и "live" хм ... похоже, вы развертываете на разных этапах, тогда я бы лучше использовал https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension

  • По поводу вашего второго вопроса, «как я могу выполнить такого рода оператор для нескольких функций без необходимости писать код повторения?»:

    capistrano deploy.rb - это просто файл ruby, вы можете использовать метод

    def htaccess_stuff
      "cat #{deploy_to}test.htaccess >> #{current_path}/.htaccess"
    end

, а затем

task :set_permissions do

  parallel do |session|
    session.when "in?(:xb_test)", htaccess_stuff
  end

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