Class: Conjure::Provision::Instance
- Inherits:
-
Object
- Object
- Conjure::Provision::Instance
- Defined in:
- lib/conjure/provision/instance.rb
Instance Method Summary collapse
-
#initialize(app_name, rails_env, options = {}) ⇒ Instance
constructor
A new instance of Instance.
- #provision(options = {}) ⇒ Object
- #remote_command(host, command) ⇒ Object
Constructor Details
#initialize(app_name, rails_env, options = {}) ⇒ Instance
Returns a new instance of Instance.
11 12 13 14 15 |
# File 'lib/conjure/provision/instance.rb', line 11 def initialize(app_name, rails_env, = {}) @app_name = app_name @rails_env = rails_env @options = end |
Instance Method Details
#provision(options = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/conjure/provision/instance.rb', line 17 def provision( = {}) if [:local] platform = LocalDocker.new else platform = Server.create "#{@app_name}-#{@rails_env}" end database = Postgres.new(platform) database.start webserver = Passenger.new(platform, database, @rails_env, @options) webserver.start passenger_ip = webserver.ip_address port = platform.ip_address ? "2222" : "22" ip_address = platform.ip_address || passenger_ip host = "root@#{ip_address} -p #{port}" sleep 1 remote_command host, "/etc/init.d/nginx restart" { :ip_address => ip_address, :port => port, :user => "app", :rails_env => @rails_env } end |
#remote_command(host, command) ⇒ Object
46 47 48 |
# File 'lib/conjure/provision/instance.rb', line 46 def remote_command(host, command) `ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no #{host} #{command}` end |