Class BoxGrinder::SFTPPlugin
In: lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb
lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb
Parent: BasePlugin

Methods

Public Instance methods

[Source]

    # File lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb, line 42
42:     def after_init
43:       register_deliverable(:package => "#{@appliance_config.name}-#{@appliance_config.version}.#{@appliance_config.release}-#{@appliance_config.os.name}-#{@appliance_config.os.version}-#{@appliance_config.hardware.arch}-#{current_platform}.tgz")
44:     end

[Source]

    # File lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb, line 42
42:     def after_init
43:       register_deliverable(:package => "#{@appliance_config.name}-#{@appliance_config.version}.#{@appliance_config.release}-#{@appliance_config.os.name}-#{@appliance_config.os.version}-#{@appliance_config.hardware.arch}-#{current_platform}.tgz")
44:     end

[Source]

    # File lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb, line 46
46:     def execute
47:       PackageHelper.new(@config, @appliance_config, :log => @log, :exec_helper => @exec_helper).package( File.dirname(@previous_deliverables[:disk]), @deliverables[:package] )
48: 
49:       @log.info "Uploading #{@appliance_config.name} appliance via SSH..."
50: 
51:       sftp_opts={}
52:       sftp_opts.merge!(:password => @plugin_config['password']) if @plugin_config['password']
53:       sftp_opts.merge!(:keys => @identity.to_a) if @identity
54: 
55:       @sftp_helper.connect(@plugin_config['host'], @plugin_config['username'], sftp_opts)
56:       @sftp_helper.upload_files(@plugin_config['path'], @plugin_config['default_permissions'], @plugin_config['overwrite'], File.basename(@deliverables[:package]) => @deliverables[:package])
57: 
58:       @log.info "Appliance #{@appliance_config.name} uploaded."
59:     rescue => e
60:       @log.error e
61:       @log.error "An error occurred while uploading files."
62:       raise
63:     ensure
64:       @sftp_helper.disconnect
65:     end

[Source]

    # File lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb, line 46
46:     def execute
47:       PackageHelper.new(@config, @appliance_config, :log => @log, :exec_helper => @exec_helper).package( File.dirname(@previous_deliverables[:disk]), @deliverables[:package] )
48: 
49:       @log.info "Uploading #{@appliance_config.name} appliance via SSH..."
50: 
51:       sftp_opts={}
52:       sftp_opts.merge!(:password => @plugin_config['password']) if @plugin_config['password']
53:       sftp_opts.merge!(:keys => @identity.to_a) if @identity
54: 
55:       @sftp_helper.connect(@plugin_config['host'], @plugin_config['username'], sftp_opts)
56:       @sftp_helper.upload_files(@plugin_config['path'], @plugin_config['default_permissions'], @plugin_config['overwrite'], File.basename(@deliverables[:package]) => @deliverables[:package])
57: 
58:       @log.info "Appliance #{@appliance_config.name} uploaded."
59:     rescue => e
60:       @log.error e
61:       @log.error "An error occurred while uploading files."
62:       raise
63:     ensure
64:       @sftp_helper.disconnect
65:     end

[Source]

    # File lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb, line 31
31:     def validate
32:       set_default_config_value('overwrite', false)
33:       set_default_config_value('default_permissions', 0644)
34:       set_default_config_value('identity', false)
35: 
36:       validate_plugin_config(['path', 'username', 'host'], 'http://boxgrinder.org/tutorials/boxgrinder-build-plugins/#SFTP_Delivery_Plugin')
37: 
38:       @identity = (@plugin_config['identity'] || @plugin_config['i'])
39:       @sftp_helper = SFTPHelper.new(:log => @log)
40:     end

[Source]

    # File lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb, line 31
31:     def validate
32:       set_default_config_value('overwrite', false)
33:       set_default_config_value('default_permissions', 0644)
34:       set_default_config_value('identity', false)
35: 
36:       validate_plugin_config(['path', 'username', 'host'], 'http://boxgrinder.org/tutorials/boxgrinder-build-plugins/#SFTP_Delivery_Plugin')
37: 
38:       @identity = (@plugin_config['identity'] || @plugin_config['i'])
39:       @sftp_helper = SFTPHelper.new(:log => @log)
40:     end

[Validate]