1

私 (vagrant で苦労している初心者) は、開発用の vagrant 環境をセットアップしました。私はvagrantファイルを提供されました

    Vagrant.configure("2") do |config|
      config.vm.box = 'precise64'
      config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
      config.vm.network :forwarded_port, guest: 80, host: 8080

      config.vm.provision :puppet do |puppet|
        puppet.module_path = "config/puppet/modules"
        puppet.manifests_path = "config/puppet/manifests"
        puppet.manifest_file = "base.pp"
      end

      config.vm.provider :virtualbox do |v|
        v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      end
    end

config/puppet/manifests には、次の base.pp ファイルが含まれています

    Exec { 
      path => "/usr/bin:/bin:/usr/sbin:/sbin"
    }

    stage { 'first': 
      before => Stage['main']
    }

    class { 
      'system': stage => first; 
      'mysql':  stage => main;
      'apache': stage => main;
      'php':    stage=> main;
      'git':    stage=> main;
      'cake':   stage=> main;
    } 

config/puppet/modules にはディレクトリ apache、cake、git、mysql、php、および system が含まれます。

私がこれまでにやったことは

    1) Installed VirtualBox
    2) Installed Vagrant
    3) Vagrant up (as specified everywhere in net)

私が得たものは

    1) a virtualbox (having no GUI)
    2) SSH connection to virtaul box
    3) and a shared folder.

今、私はそれをよく理解できるようにいくつか質問があります

    1) Am i going in right direction in order to setup vagrant?
    2) What is precise64.box(just console box), can't i add ubuntu as a box and everything set up(i.e. php, apache n other modules specified in puppet modules) in that ubuntu?
    3) Where does puppet install all these modules? in Host(Windows) or in Guest(precise64)?
    4) What config.vm.network :forwarded_port, guest: 80, host: 8080 do?
    5) what does shared folder do? and where does the shared folder reside in virtual box(precise64) and what i could/should do with this shared folder?
    6) where do i install Netbeans/Eclipse in order to develop my code?
    7) Any references/blog that describe vagrant and its advantages in and out?

私は理解しようとしていますが、(開発者として) vagrant を理解し、何かを開発する方法を理解できませんでした。ヘルプや説明はかなりのものであり、これらは初心者にとって理解するのが難しい最も一般的なポイントであると思います.

4

1 に答える 1

3

1) はい、あなたは私に対してすべて正しいことをしているようです。それが機能する場合、実際には正しいか間違っているかはありません。構成はかなり標準的に見えます。(あなたのパペット設定についてはわかりません...私はそれを使用したことがありません)

2) .box ファイルは基本的に、vagrant 専用にパッケージ化されたインストール CD です。この場合、ダウンロードしてインストールしhttp://files.vagrantup.com/precise64.boxます. その他のパッケージ済みボックスはこちらでご覧いただけます。vagrant のポイントは、ベアボーン OS から開始し、プロビジョニング ファイル (chef、puppet、bash など) を使用して構築できることです。

3) vagrant のすべては、作成する VM 内で非常に自己完結型です。パペットについてはあまり知りませんが、使用する bash プロビジョニング ファイルとほぼ同じように機能すると思います。VM を起動し、VM 内でプロビジョニング スクリプトを実行して、VM 作成プロセスを再現できるようにします。

4) ポート転送。guest: 80, host :8080 は、ポート 80 でサービスを提供する VM (ゲスト) 内のすべてが、ホスト (PC) で利用できることを意味しますhttp://localhost:8080

5) 共有フォルダは素晴らしいです。基本的に、VM はホスト マシンからフォルダーにアクセスできます。これは、質問 6 に非常に役立ちます。次のようなことを行います。

config.vm.synced_folder "src/", "/vagrant"

(ホスト上の) プロジェクト内のsrcディレクトリを、マウント ポイントの vm で使用できるようにします/vagrant。そのため、ホストに IDE をインストールし、でファイルを編集するsrcと、VM の で自動的に使用できるようになります/vagrant。詳細はこちら

6) ホスト マシン上。5 番の回答を参照してください。私にとっての最大の利点は、Vagrantfile を残りのアプリケーション コードの横にある git リポジトリにチェックインできることです。チームの新しいメンバーは、ディレクトリに移動してvagrant up. VM 内で何かを台無しにして、最初からやり直す必要がありますか? vagrant destroy-> vagrant up. アプリケーションに固有のパッケージをホスト マシンにインストールする必要がないことは非常に貴重です。

于 2014-08-06T18:26:15.903 に答える