2016-07-13 109 views
1

我目前正在嘗試連接兩個流浪環境。一個是具有相關postgres數據庫的Web應用程序。另一個是調用第一個流浪機器上的postgres數據庫的API應用程序。任何人都可以提供有關如何實現這一目標的建議。我相信我需要更改我的database.yml或envirornment.rb文件,但不太清楚如何。我vagrantfiles和database.yml的文件,目前像這樣:連接兩個流浪機

前置機Vagrantfile:

Vagrant.configure("2") do |config| 
    config.vm.box = "hashicorp/precise64" 
    config.vm.network "forwarded_port", guest: 3000, host: 3000 
    config.vm.synced_folder "../Base", "/Base" 
    config.vm.synced_folder "../api", "/API" 
end 

前置機的database.yml:

default: &default 
    adapter: postgresql 
    database: chsh 

development: &development 
    <<: *default 
    host: localhost 
    username: username 
    password: password 
    database: database_name 
    pool: 10 

API機:

Vagrant.configure("2") do |config| 
    config.vm.box = "hashicorp/precise64" 
    config.vm.network "forwarded_port", guest: 3002, host: 3002 
    config.vm.synced_folder "../Base", "/Base" 
    config.vm.provider "virtualbox" do |vb| 
    vb.gui = true 
    end 
end 

回答

0

在閱讀代碼時,我沒有看到配置多臺機器的方法。

您可以在使用前重新配置繞過這個..

module Vagrant 

    def set(name) 
    send(name) if respond_to?(name) 
    end 

    def front_end 
    Vagrant.configure("2") do |config| 
     config.vm.box = "hashicorp/precise64" 
     config.vm.network "forwarded_port", guest: 3000, host: 3000 
     config.vm.synced_folder "../Base", "/Base" 
     config.vm.synced_folder "../api", "/API" 
    end 
    end 

    def api 
    Vagrant.configure("2") do |config| 
     config.vm.box = "hashicorp/precise64" 
     config.vm.network "forwarded_port", guest: 3002, host: 3002 
     config.vm.synced_folder "../Base", "/Base" 
     config.vm.provider "virtualbox" do |vb| 
     vb.gui = true 
     end 
    end 
    end 
end 

你,然後能夠做這樣的事:

Vagrant.set(:front_end) 
Vagrant.set(:api) 
+0

凡,我會重新配置呢?這是一個修改過的vagrantfile嗎?結構看起來有點不同。 – EamonnMcElroy