Module: Capistrano::Itamae::DSL

Defined in:
lib/capistrano/itamae/dsl.rb

Constant Summary collapse

DEFAULT_RECIPE =
"default.rb"

Instance Method Summary collapse

Instance Method Details

#itamae_ssh(recipe_files = DEFAULT_RECIPE, options: nil, environment: {}) ⇒ Object

Run ‘itamae ssh`

Parameters:

  • recipe_files (String, Array<String>) (defaults to: DEFAULT_RECIPE)
  • options (String) (defaults to: nil)

    itamae ssh options

  • environment (Hash) (defaults to: {})

    environment variables. (passed to ‘with`)



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/capistrano/itamae/dsl.rb', line 12

def itamae_ssh(recipe_files = DEFAULT_RECIPE, options: nil, environment: {})
  recipe_paths = Array(recipe_files).map { |file| itamae_cookbooks_path.join(file) }

  itamae_options = [options, itamae_ssh_default_options].compact

  # NOTE: store server (`host` is changed to localhost in `run_locally`)
  server = host

  run_locally do
    Bundler.with_original_env do
      with environment do
        execute(*generate_itamae_ssh_command(server, recipe_paths, itamae_options))
      end
    end
  end
end