class Admiral::Layers::AdmiralBuildSh
Public Class Methods
new(config, ipaddress)
click to toggle source
Calls superclass method
Admiral::LayerBase::new
# File lib/admiral/layers/admiral.build.sh.rb, line 9 def initialize(config, ipaddress) description = "Executing build script" super(description, config, ipaddress) add_parameter('build_script', 'Script file for build (ex: bootstap.sh)') add_parameter('build_env', 'Hash of environmental variables (ex: {"param1"=>"value1", "param2"=>"value2"} )') end
Public Instance Methods
do_action()
click to toggle source
# File lib/admiral/layers/admiral.build.sh.rb, line 17 def do_action() username = @config['username'] build_script = @config['build_script'] build_env = @config['build_env'] work_dir = "/tmp/#{username}/" if not File.exists?(build_script) STDERR.puts "File #{build_script} not found" return false end upload(build_script, work_dir) cmd = %Q[bash /tmp/#{username}/#{build_script}] rc = run_ssh_command(cmd, :env => build_env) return (rc == 0) end