diff --git a/libraries/helpers.rb b/libraries/helpers.rb index 0ede26d1..30be9327 100644 --- a/libraries/helpers.rb +++ b/libraries/helpers.rb @@ -58,11 +58,12 @@ def every_enabled_rds end end -def perform_bundle_install(shared_path) +def perform_bundle_install(shared_path, envs = {}) bundle_path = "#{shared_path}/vendor/bundle" execute 'bundle_install' do command "/usr/local/bin/bundle install --deployment --without development test --path #{bundle_path}" + environment envs cwd release_path end end diff --git a/recipes/deploy.rb b/recipes/deploy.rb index 7865f594..c6f26421 100644 --- a/recipes/deploy.rb +++ b/recipes/deploy.rb @@ -17,6 +17,7 @@ appserver = Drivers::Appserver::Factory.build(application, node) worker = Drivers::Worker::Factory.build(application, node) webserver = Drivers::Webserver::Factory.build(application, node) + bundle_env = scm.class.adapter.to_s == 'Chef::Provider::Git' ? { 'GIT_SSH' => scm.out[:ssh_wrapper] } : {} fire_hook(:before_deploy, context: self, items: databases + [scm, framework, appserver, worker, webserver]) @@ -52,7 +53,7 @@ migration_command(framework.out[:migration_command]) migrate framework.out[:migrate] before_migrate do - perform_bundle_install(shared_path) + perform_bundle_install(shared_path, bundle_env) fire_hook(:deploy_before_migrate, context: self, items: databases + [scm, framework, appserver, worker, webserver]) @@ -61,7 +62,7 @@ end before_symlink do - perform_bundle_install(shared_path) unless framework.out[:migrate] + perform_bundle_install(shared_path, bundle_env) unless framework.out[:migrate] fire_hook(:deploy_before_symlink, context: self, items: databases + [scm, framework, appserver, worker, webserver])