メニューを閉じる

テクノデジタルグループ

メニューを開く

2014.08.05

開発環境・ツール

Vagrantの紹介と使用方法について

こんにちは、KTです。

今回はVagrantについて紹介したいと思います。

1. Vagrantとは

仮想マシンの環境構築や設定なんかを自動化するツールです。 簡単にいうと、「ローカルに開発環境を作って。」なんていわれたときにパパッと作ることができ、 しかも作った環境をほかの人に共有も簡単に出来ちゃうツールだと思っていただいてOKです。

2. インストール

Vagrantは、内部でVirtualBoxを使用しています。 そのため、VagrantとVirtualBoxのインストールが必要です。 Vagrant :: http://www.vagrantup.com/ VirtualBox :: https://www.virtualbox.org/wiki/Downloads インストールが完了したら、下記のコマンドを実行して、インストールが正常に出来ているか確認して下さい。

vagrant -v

ちなみに、Macのbrew caskを使っている場合は、どちらもcaskにあるのでcaskからのインストールでOKです。

brew cask install virtualbox
brew cask install vagrant

 

3. Boxの準備

Vagrantでは、仮想マシンのイメージをBoxという形式で保存しており、 一からOSをインストールするのではなく、すでにOSがインストールされたイメージを使って ローカル開発環境をセットアップできます。   まずは下記のサイトから、作成する開発環境のOSのBoxファイルを探しましょう! http://www.vagrantbox.es/   目的のOSが見つかったら、コマンドプロンプト(Macの場合はterminal)を起動して、

vagrant box add (保存するBox名) (BOXのURL)

例) vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box

と入力し、実行しましょう。 ※ boxファイルをローカルマシンにダウンロードし、URLの代わりに直接boxファイルのパスを指定してもbox addできます。

例) vagrant box add centos65 /path/to/boxfile

これで、vagrant に指定したBox名(上記例の場合centos65)でBoxが保存されます。 あとは、保存したBoxをベースに開発環境を構築します(1つのBoxからいくつでも開発環境を作成出来ます)

4. 開発環境の初期化&起動

コマンドプロンプト/ターミナルで開発環境を構築するディレクトリに移動し、下記のコマンドを実行してください。

vagrant init (使用するBox名)

Box名は前項でBoxを追加するときに指定したBox名です。 忘れてしまった場合は

vagrant box list

とすることで、現在登録されているBoxの一覧を確認できます。   initコマンドを実行すると、Vagrantfileというファイルが生成されます。 必要に応じて、このファイルを変更して下さい。(特に変更しなくても問題ないです) 私の場合は、ホストマシンからアクセスするためのプライベートネットワークを有効にしています。

config.vm.network "private_network", ip: "192.168.33.10"  ←この行を有効にする(#を削除)

参考までに さて、Vagrantfileが生成されたら、早速仮想マシンを起動しましょう。 コマンドプロンプト/ターミナルでVagrantfileのあるディレクトリに移動して下記のコマンドを実行してください。

vagrant up

これで、仮想マシンが起動出来ます。

5. ログイン

起動した仮想マシンにログインしましょう。 Teratermやputtyなどの、ターミナルアプリは不要です。 コマンドプロンプト/ターミナルから、そのまま

vagrant ssh

とすればログイン出来ます。楽ですね!   rootパスワードは’vagrant’になっているので、そのままログインしてsuして後はご自由に環境を構築しちゃってください。

6. 終了と削除

仮想マシンを終了するにはコマンドプロンプト/ターミナルから

vagrant halt

とすればOKです。(当たり前ですが、haltする前にexitしてsshを終了しておいてください)   また、作成した仮想マシンを削除したい場合(構築にミスって一からやり直したい等)は

vagrant destroy

とすれば作成した仮想マシンが削除されます。 Boxの設定が消えてしまう訳ではないので、もう一度作り直したい場合はvagrant upとすればまっさらな環境が起動します。

7. プラグイン

そのままでも十分便利なVagrantですが、さらに便利に使えるプラグインがいろいろ公開されています。 その中でもおすすめのプラグインを紹介します。

Sahara

仮想マシン上で色々と設定しているとき、何かを間違えちゃって動かなくなっちゃった。どこで間違えたか分からないけど、一から直すのは面倒。ってことありますよね? saharaは仮想マシンの状態を保存出来るプラグインです。 saharaを使って、設定が上手く行ったときに状態を保存しておくと、その後間違えちゃったとしても保存した状態に戻すことが出来ます。

●インストール コマンドプロンプト/ターミナルから下記のコマンドを実行

vagrant plugin install sahara
●使い方

sahara起動 まずは作業前にsaharaを起動する(vagrant up後に行うこと)

vagrant sandbox on

saharaコミット 作業が成功したら作業内容をコミットする

vagrant sandbox commit

saharaロールバック 作業が失敗したら前回コミットしたところまでロールバックする

vagrant sandbox rollback

sahara終了 作業が終了したらsaharaを終了する(同時にコミットされる)

vagrant sandbox off

※注意点

コミットおよび終了は、vagrant haltしてから行わないと時間がかかる。

vagrant up
 ↓
vagrant sandbox on
 ↓
(作業) ⇄ vagrant sandbox rollback
 ↓
vagrant halt
 ↓
vagrant sandbox commit/off

 

の流れで作業を行うこと


【記事への感想募集中!】

記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!
  • こんな記事が読んでみたい、こんなことが知りたい、調べてほしい!という意見も募集中!
  • いただいた感想は今後の記事に活かしたいと思います!

感想フォームはこちら


【テクノデジタルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』

【テクノデジタルのインフラサービス】

当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。

https://www.tcdigital.jp/infrastructure/

最近の記事