Module: Kdeploy

Defined in:
lib/kdeploy.rb,
lib/kdeploy/cli.rb,
lib/kdeploy/dsl.rb,
lib/kdeploy/host.rb,
lib/kdeploy/task.rb,
lib/kdeploy/banner.rb,
lib/kdeploy/logger.rb,
lib/kdeploy/runner.rb,
lib/kdeploy/command.rb,
lib/kdeploy/version.rb,
lib/kdeploy/pipeline.rb,
lib/kdeploy/template.rb,
lib/kdeploy/inventory.rb,
lib/kdeploy/statistics.rb,
lib/kdeploy/configuration.rb,
lib/kdeploy/ssh_connection.rb

Overview

Internal dependencies - ordered by dependency chain

Defined Under Namespace

Modules: Banner Classes: CLI, Command, CommandError, Configuration, ConfigurationError, ConnectionError, DSL, DownloadCommand, Error, Host, Inventory, KdeployLogger, Pipeline, Runner, SSHConnection, Statistics, Task, Template, TemplateError, TemplateManager, TemplateUploadCommand, UploadCommand

Constant Summary collapse

VERSION =

Current version of Kdeploy

'0.1.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



48
49
50
# File 'lib/kdeploy.rb', line 48

def configuration
  @configuration
end

.statisticsStatistics (readonly)

Initialize statistics

Returns:



53
54
55
# File 'lib/kdeploy.rb', line 53

def statistics
  @statistics
end

Class Method Details

.configure {|Configuration| ... } ⇒ Configuration

Configure kdeploy

Yields:

Returns:



60
61
62
63
64
# File 'lib/kdeploy.rb', line 60

def configure
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
  configuration
end

.execute(pipeline) ⇒ Hash

Execute deployment pipeline

Parameters:

  • pipeline (Pipeline)

    Pipeline to execute

Returns:

  • (Hash)

    Execution results



79
80
81
82
# File 'lib/kdeploy.rb', line 79

def execute(pipeline)
  runner = Runner.new(pipeline)
  runner.execute
end

.load_script(script_file) ⇒ Pipeline

Load and execute deployment script

Parameters:

  • script_file (String)

    Path to deployment script

Returns:

Raises:



70
71
72
73
74
# File 'lib/kdeploy.rb', line 70

def load_script(script_file)
  validate_script_file(script_file)
  script_dir = File.dirname(File.expand_path(script_file))
  create_pipeline(script_file, script_dir)
end

.run(script_file) ⇒ Hash

Convenient method to load and execute script

Parameters:

  • script_file (String)

    Path to deployment script

Returns:

  • (Hash)

    Execution results



87
88
89
90
# File 'lib/kdeploy.rb', line 87

def run(script_file)
  pipeline = load_script(script_file)
  execute(pipeline)
end