The bundler plugin installs ruby gem dependencies using bundler. This is required for deploying Rails apps. It also provides conveniences for using
Note that the settings listed here only take effect if you run the bundler:config task.
||Location where the bundler:config task will write bundler’s configuration file||
||Enables bundler’s deployment mode (strongly recommended)||
||Optionally used to override the location of the Gemfile||
||Amount of concurrency used when downloading/installing gems||
||Directory where gems where be installed||
||Number of times to retry installing a gem if it fails to download||
||The version of bundler to install, used by the bundler:upgrade_bundler task; if
||Array of Gemfile groups to exclude from installation||
Installs the version of bundler specified by the
:bundler_version setting, if specified. If
nil (the default), this task will automatically determine the version of bundler required by the app that is being deployed by looking at the
BUNDLED WITH entry within the app’s
nil and the app is missing a lockfile, then this task does nothing. Bundler will be installed withing this command:
gem install bundler --conservative --no-document -v VERSION
.bundle/config file with the configuration specified by the various
:bundler_* tomo settings. This ensures that invocations of
bundle install, and most importantly
bundle exec all consistently use the correct bundler configuration.
bundle install to download and install all the dependencies specified by the Gemfile of the app that is being deployed. As a performance optimization, this task will run
bundle check first to see if the app’s dependencies have already been installed. If so,
bundle install is skipped.
bundler:install is intended for use as a deploy task. It should be run prior to any tasks that rely on gems.
bundle clean to delete any previously installed gems that are no longer needed by the current version of the app. Cleaning is generally good practice to save disk space and speed up app launch time.
bundler:clean is intended for use as a deploy task. It should be run at the conclusion of the deploy after all other tasks.
remote.bundle(*args, **options) → Tomo::Result
release_path by default.
remote.bundle("exec", "rails", "console") # $ cd /var/www/my-app/current && bundle exec rails console
remote.bundle?(*args, **options) → true or false
bundle but returns
true if the command succeeded,