VagrantとChefにはすでに良いポストがありました: VagrantとChefを使用した開発環境 。
ただし、私のように、Parallels Desktopを使用すると、問題が発生します。 実際、ParallelsとVirtualBoxを同時に起動することはできません。 したがって、 vagrant-parallels仮想マシンプロバイダーを使用できます 。
インストールおよび使用手順は、Githubのプラグインページで詳細に説明されていますが、念のためプロセスを複製します。
個人的には、 Homebrewを使用してさまざまな便利なアプリケーションをインストールします。これを使用します。
eric@Copoka-3 ~> brew tap phinze/cask eric@Copoka-3 ~> brew cask install vagrant eric@Copoka-3 ~> vagrant plugin install vagrant-parallels
一般的に、すべての作業の準備ができています。 小さなものが欠落しています-実際のボックス。 プラグインのあるサイトにはdevboxへのリンクがありますが、もっと多様なものが欲しいです。
そしてveeweeはシーンに入ります。 残念ながら、既製のveeweeパッケージはないため、自分でビルドします。
不要なgemでシステムを詰まらせないために、 rvmをインストールします 。
eric@Copoka-3 ~> \curl -sSL https://get.rvm.io | bash -s stable eric@Copoka-3 ~> rvm install 2.1.0 eric@Copoka-3 ~> rvm use 2.1.0
Rubyの準備ができました。 今実際にveewee:
eric@Copoka-3 ~> cd Work eric@Copoka-3 ~/Work> git clone https://github.com/jedi4ever/veewee.git eric@Copoka-3 ~/Work> cd veewee eric@Copoka-3 ~/W/veewee> rvm use 2.1.0@veewee --create eric@Copoka-3 ~/W/veewee> gem install bundler --no-ri --no-rdoc eric@Copoka-3 ~/W/veewee> bundle install eric@Copoka-3 ~/W/veewee> rake install
ボックスの作成を開始するには、 SDKリンクからダウンロードしてParallels SDKをインストールする必要があります
ダウンロード、インストール、続行できます。
eric@Copoka-3 ~> cd Work eric@Copoka-3 ~/Work> mkdir boxes eric@Copoka-3 ~/Work> cd boxes
ボックスを作成するには、テンプレートを使用することをお勧めします。 テンプレートのリストは次のように取得できます。
eric@Copoka-3 ~/W/boxes> veewee parallels templates
リストはかなり大きいので、説明しません。 ここでは、古き良きUbuntu 12.04 LTSを使用します。
eric@Copoka-3 ~/W/boxes> veewee parallels define 'precise64' 'ubuntu-12.04.3-server-amd64'
次に、
veewee parallels build
チームでアセンブリを開始するように招待されますが、失敗します。 Parallelsの操作にテンプレートを使用したように見えますが、このテンプレートはVirtualBoxとVMWareのゲストツールをインストールしようとしますが、Parallelsについては何も知りません。 この欠陥を修正します。
eric@Copoka-3 ~/W/boxes> cd definitions/precise64/ eric@Copoka-3 ~/W/b/d/precise64>
ここでは、次の内容の
parallels.sh
ファイルを作成する必要があります(ubuntu-13.10-server-amd64のテンプレートを覗きましたが、別の問題があります。後で説明します)。
# Install the Parallels Tools PARALLELS_TOOLS_ISO=prl-tools-lin.iso mount -o loop $PARALLELS_TOOLS_ISO /media/cdrom /media/cdrom/install --install-unattended-with-deps --progress umount /media/cdrom
次に、
definition.rb
編集し、virtualboxとvmfusionの
postinstall_files
メンションのリストから削除し、
parallels.sh
を追加
parallels.sh
ます。
これで続行できます。
eric@Copoka-3 ~/W/b/d/precise64> cd ../.. eric@Copoka-3 ~/W/boxes> veewee parallels build precise64
あなたは昼食をとることができます、プロセスは非常に長いです。 最終的に、すべてが楽しく終了し、次のようなものが表示されます。
...- ... The box precise64 was built successfully! You can now login to the box with: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 22 -l vagrant 10.211.55.7 eric@Copoka-3 ~/W/boxes>
この段階で、マシンにアクセスして(
vagrant
パスワード)、すべてが正常であることを確認し、何か(ロシア語のサポートなど)を追加します。 すべてが適切にインストールされていることを確認したら、Vagrant用のボックスに梱包できます。
しかし、ここでもう1つの落とし穴が待っています。 エクスポートしようとすると、次のエラーが表示されます。
エラー:シェルコマンドを実行しましたが、終了ステータスは0ではありませんでした -コマンド:prl_disk_tool compact --buildmap --hdd /Users/eric/Documents/Parallels/precise64.pvm/harddisk.hdd -終了コード:2。 -出力: 操作の進行状況5%ディスクを圧縮できません。
これは既知のエラーです。解決するには、ファイル
gems/veewee-0.3.12/lib/veewee/provider/parallels/box/export.rb
(使用されているgemsetのバージョンに関連)の行
optimize_disk
をコメントアウトする必要があります文字列。
その後、エクスポートは正常に機能し、現在のディレクトリに大切なボックスが表示されます。
eric@Copoka-3 ~/W/boxes> ll total 1252512 drwxr-xr-x+ 3 eric staff 102B 20 17:44 definitions drwxr-xr-x+ 4 eric staff 136B 20 17:39 iso -rw-r--r--+ 1 eric staff 612M 20 18:46 precise64.box eric@Copoka-3 ~/W/boxes>
貯金箱に追加します。
eric@Copoka-3 ~/W/boxes> vagrant box add 'precise64' '/Users/eric/Work/boxes/precise64.box'
ここで、テストを実行する場所を選択し、結果のボックスを開始します。
eric@Copoka-3 ~/W/boxes> cd ~/Work eric@Copoka-3 ~/Work> mkdir testbox eric@Copoka-3 ~/Work> cd testbox eric@Copoka-3 ~/W/testbox> vagrant init precise64 eric@Copoka-3 ~/W/testbox> vagrant up --provider=parallels eric@Copoka-3 ~/W/testbox> vagrant ssh Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-29-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Thu Feb 20 18:33:11 2014 from 10.211.55.2 vagrant@precise64:~$
彼らが何を得たかった。
Ubuntu 13.10。について そこでは、テンプレートは実際には変更を必要としません。definition.rbのParallelsの行のコメントを外し、それに応じてVirtualBoxをコメントアウトするだけです。 その後、すべてがまったく同じです。
それでも、13.10からボックスを
vagrant up
しようとすると、マシンは正常に起動しますが、マシンの起動を待つタイムアウトが発生します。 これは、LinuxのParallelsドライバーエラーが原因です。 Parallelsはこのエラーを認識しており、次のアップデートで修正することを約束しています。 vagrant-parallels課題トラッカーでそれについて読む
一時的な解決策として、起動時に手動で浮浪者を支援することが提案されています。コンソールからマシンに入り、eth0でdhclientを再起動します。
私のやや厄介なメモが誰かにとって有用であり、時間を節約することを願っています。