はじめに
チーム内の開発環境を統一できていますか?
開発環境に統一性がないと、
「これ動かないんだけど?」
「俺のマシンなら動くよ?」
といったことが起きることになります。これでは毎回問題に対処するのに手間がかかってしまいます。また、手動で環境をセットアップするのは面倒でミスの起こりやすい作業です。毎回、必要なアプリケーションをインストールして、正しい設定にできるでしょうか?いうまでもなく、これは自動化するべき作業です。そして、それをサポートしてくれるのが今回紹介するソフト、Vagrantになります。
この記事では、ローカル開発環境を間違いなく構築したいエンジニアの方のために、Vagrantの概要と基本的な使い方をお伝えします。開発中は頻繁にローカル開発環境を利用します。煩雑な作業に手間を取られてしまわないように、最初から自動化しておきましょう。
Vagrantとは
Vagrant公式ページ:https://www.vagrantup.com/
Vagrantは、仮想環境構築ソフトウェアです。仮想環境の作成や起動、終了などの管理を行うことができます。また、アプリケーションのインストールや設定を自動化できます。実際のところ、Vagrantは仮想環境を”構築”するだけであって、仮想環境自体を動作させるソフトではありません。つまり、Vagrantは仮想環境を便利に使うためのツールなのです。そのため、仮想環境の実行にはVirtualBoxなどの別のソフトが必要です。当初はVirtualBoxしか対応していませんでしたが、現在ではVMwareやAmazon EC2などの仮想環境にも対応できるようになっています。
簡単なコマンドで仮想環境を管理できる他、Vagrant用の設定ファイルを作成することで環境の構築を自動化できます。また、その設定ファイルをチーム内で共有すれば、チームメンバーが皆同じ環境で作業できます。もちろん、ひとりで使う場合にも有用です。
VirtualBoxのインストール
まずは、Vagrantをインストールする前にVirtualBoxをインストールしておきましょう。そうしないとVagrantが動きません。下記のページから、各プラットフォーム用のインストーラーをダウンロードして下さい。後はインストーラーに従って、インストールします。
VirtualBoxダウンロードページ:https://www.virtualbox.org/wiki/Downloads
VirtualBoxは単体でも使用できるソフトなので、GUIを使って操作することもできます。とはいえ、ほとんどの操作はVagrantから行うため、VirtualBoxを直接扱うことはまずないでしょう。なお、GUIを起動しているとVagrantのコマンドがエラーになる場合があります。Vagrantを使用するときは終了しておきましょう。
Vagrantのインストール
次に、Vagrant本体をインストールします。こちらも、下記のダウンロードページから各プラットフォーム用のインストーラーをダウンロードしてインストールします。
Vagrantダウンロードページ:https://www.vagrantup.com/downloads.html
なお、Windowsの場合は「Microsoft Visual C++ 2010 SP1 再頒布可能パッケージ」をインストールしないと正常に動作しない場合があります。後で説明するコマンドがエラーになる方は、下記のダウンロードページからダウンロードしてインストールしましょう。
Microsoft Visual C++ 2010 SP1 再頒布可能パッケージ ダウンロードページ:https://www.microsoft.com/ja-JP/download/details.aspx?id=8328
うまくインストールできているかチェック
インストールが終わって一度再起動したら、うまくインストールできているかチェックしてみましょう。コンソールから下記のコマンドを実行して、無事バージョンが表示されればOKです。
vagrant -v
Vagrantfileの作成
さて、いよいよ仮想マシンの起動といきたいところですが、その前にVagrantfileを作成する必要があります。Vagrantfileは、その名の通りVagrantの設定ファイルで、これを元に仮想環境が構築されます。その中でもかならず必要なのが、Boxの設定です。Boxとは、仮想マシンのイメージのことです。物理マシンでいう、HDDなどのストレージに相当します。自分で作ることもできるのですが、ちょっと面倒なので既存のBoxを利用しましょう。Atlasに既存のイメージが多数公開されています。
Atlas公式ページ:https://atlas.hashicorp.com/boxes/search
ここでは、32ビット版UbuntuのBoxである「ubuntu/trusty32」を使って説明します。Vagrantfileは、コマンドを利用すると簡単に作成できます。コンソールから下記のコマンドを実行するとVagrantfileが生成されます。
vagrant init ubuntu/trusty32
これで仮想マシンを起動する準備が整いました。なお、64ビット仮想マシンを起動する場合には、CPUの仮想化支援機能(VT-xなど)が有効になっている必要があります。
仮想マシンを操作するコマンド
*仮想マシンを起動する
それでは、いよいよ仮想マシンを起動してみましょう。下記のコマンドで起動できます。
vagrant up
初回実行時には、自動的にBoxのイメージファイルがダウンロードされます。少し時間がかかるので待ちましょう。無事起動しましたか?うまくいかない方は、上で紹介した、”VC++ライブラリ”をインストールしてみましょう。仮想マシンの状態は、下記のコマンドで確認できます。
vagrant status
表示されているステータスが、「running」となっていれば成功です。
*仮想マシンを一時停止する
起動した仮想マシンは一時停止(終了せずに状態を保存)することができます。物理マシンでいうところの休止状態のようなものです。一時停止は下記のコマンドで行います。
vagrant suspend
また、一時停止状態から復帰するには下記のコマンドを実行します。
vagrant resume
*仮想マシンを終了する
仮想マシンの終了は、下記のコマンドで行います。
vagrant halt
このコマンドを実行しても、仮想マシンに対して行われた変更はそのまま残ります。物理マシンの通常のシャットダウンと同じですね。変更を完全に破棄するには、次に説明するコマンドを使います。
*仮想マシンを破棄する
仮想マシンを破棄するには、下記のコマンドを実行します。
vagrant destroy
このコマンドを実行すると、仮想マシンが完全に削除され、仮想マシンに対して行った変更も破棄されます。再び、「vagrant up」することでクリーンな環境が起動します。なお、Boxのイメージは削除されず再利用されますので、再びBoxをダウンロードするのに時間がかかるといったことはありません。
仮想マシンの構成を変更するには
仮想マシンの構成の変更は、Vagrantfileで行います。IPアドレスやポート、共有フォルダなどの設定ができます。また、シェルスクリプトを入力することで、アプリケーションのインストールや設定を自動化できます。一般的な設定はコメントでわかりやすく記載されているので、それを参考に編集してみましょう。なお、仮想マシン起動中にVagrantfileを変更した場合は、「vagrant reload」コマンドを実行しないと変更が反映されません。注意しましょう。
まとめ
Vagrantの基本がお分かりになりましたか?最初にベースになる環境を構築してしまえば、後はそれをチーム内で共有できます。そうすれば、チームメンバーが重複した構築作業を行う必要はなくなりますし、環境も統一できます。開発中に開発環境が変更になることもあるでしょう。そんなときのために、Vagrantfileをリポジトリに入れて、ソースファイル同様に環境も管理しておきましょう。これなら、環境の共有も簡単です。あなたも今日からVagrantを使ってみませんか?
本ブログは、Git / Subversion のクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
開発の効率化をしたい!もっと便利なツールを使いたい!そんなお悩みをtracpathで解決!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments