Я не хочу устанавливать определенный гем в указанных c хостах. Как я могу добиться этого?
версии:
Ruby 2.5.3
Capistrano 3.7.1
Capistrano-bundler 1.2.0
Я попытался с помощью приведенного ниже кода указать параметр without
в зависимости от роли, но, похоже, он указан и для других хостов.
Gemfile.rb
group :foo do
gem 'foo'
end
deploy.rb
role :app, %w(huga.com)
task :without_foo do
on roles(:app) do
set :bundle_without, %w{development test foo}.join(' ')
end
end
before 'bundler:install', :without_foo
результаты ( bundle --without тест разработки foo выполняется и для другого хоста )
...
** Invoke deploy:updated (first_time)
** Invoke bundler:install (first_time)
** Invoke without_foo (first_time)
** Execute without_foo
** Execute bundler:install
00:21 bundler:install
01 /usr/local/rvm/bin/rvm 2.5.3@my_app_staging do bundle install --path /var/www/staging/my_app/shared/bundle --without development test foo --deployment --quiet
✔ 01 me@huga.com 2.071s
✔ 01 me@huga2.com 2.007s
...