Class: EY::Model::Instance

Inherits:
Object show all
Defined in:
lib/engineyard/model/instance.rb

Instance Method Summary collapse

Instance Method Details

#deploy(app, ref, migration_command = nil, extra_configuration = nil, verbose = false) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/engineyard/model/instance.rb', line 22

def deploy(app, ref, migration_command=nil, extra_configuration=nil, verbose=false)
  successful, output = false, ""
  deployment = Deployment.started(environment, app, ref, migration_command)

  deploy_command = adapter(app, verbose).deploy do |args|
    args.config  = extra_configuration if extra_configuration
    args.migrate = migration_command if migration_command
    args.ref     = deployment.resolved_ref
  end

  successful = invoke(deploy_command) { |chunk| output << chunk }
ensure
  if deployment
    deployment.finished(successful, output)
    EY.ui.info "#{successful ? 'Successful' : 'Failed'} deployment recorded in AppCloud"
  end
end

#has_app_code?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/engineyard/model/instance.rb', line 56

def has_app_code?
  !["db_master", "db_slave"].include?(role.to_s)
end

#put_up_maintenance_page(app, verbose = false) ⇒ Object



48
49
50
# File 'lib/engineyard/model/instance.rb', line 48

def put_up_maintenance_page(app, verbose=false)
  invoke adapter(app, verbose).enable_maintenance_page
end

#rollback(app, extra_configuration = nil, verbose = false) ⇒ Object



40
41
42
43
44
45
# File 'lib/engineyard/model/instance.rb', line 40

def rollback(app, extra_configuration=nil, verbose=false)
  rollback = adapter(app, verbose).rollback do |args|
    args.config = extra_configuration if extra_configuration
  end
  invoke rollback
end

#take_down_maintenance_page(app, verbose = false) ⇒ Object



52
53
54
# File 'lib/engineyard/model/instance.rb', line 52

def take_down_maintenance_page(app, verbose=false)
  invoke adapter(app, verbose).disable_maintenance_page
end