• 作業効率が上がる仮想環境『Vgrant』とは
  • 2018/05/28
  • Category:
  • エンジニアの仕事に必要な開発環境を構築するのは、とても手間がかかります。
    各種アプリケーションをインストールしたものの、他の環境では動いたのに自分のPCだと動かない、設定し終えてもバックアップが大変、複数プロジェクトを並行作業すると設定が複雑になってしまう……、いろいろな問題が発生することがあります。

    上記のタイトルはエンジニアをしていると、1度は聴いたことのあるかもしれないフレーズですが、これは矛盾しているようである意味の真理です。
    同じことを繰り返さない、繰り返さなければならないならば自動化する——そうしなければ本来集中すべき内容に手をつけられないためです。

    では、どのようにすれば良いのでしょうか?

    仮想環境を効率的に構築するためのVagrant

    今記事においては解決策の1つとして、Vagrantを紹介します。
    Vgrantとは、仮想環境を効率的に構築するためのソフトウエアです。
    WindowsやMacといったOSのなかに、さらにOSをインストールするイメージとなります。

    Vagrantの利点

    Vagrantを使うことで、上記の問題を解決することができるようになります。

    他の環境では動いたのに自分のPCだと動かない

    動作が保証された環境を構築、配布することで、どのMacやWindowsを問わずに同じ環境を用意できる。

    バックアップが大変

    Vagrantは設定が1つのファイルにまとまっており、復元が簡単。

    複数プロジェクトを並行作業すると設定が複雑に

    プロジェクトごとにVagrantを用意することで、余計なツールが入らない安定した環境を使用できる。

    Vagrantのインストール手順

    注:この記事では仮想環境としてLinux(CentOS7.4)を構築するものとします

    実際にVagrantをインストールするには、以下サイトからインストーラーをダウンロードして実行します。
    Vagrantと合わせて、仮想環境を構築するためにVirtualBoxもインストールしてください。
    Windows, Mac, Linux版それぞれ実行ファイルが用意されておりますので、環境に合わせてください。

    http://www.vagrantup.com/
    http://www.oracle.com/technetwork/jp/server-storage/virtualbox/downloads/index.html

    VMの設定

    インストールが完了したら、実際に設定してみましょう。

    今回は次のようなフォルダを作成し、このなかで作業を行います。
    Windows: C:\vagrant
    Mac : /Users/ユーザ名/vagrant

    ターミナルまたはコマンドプロンプトを開き、上記フォルダまで移動してから以下のコマンドを実行します。

    vagrant box add bento/centos-7.4

    これだけのコマンドで、インターネットからLinuxをダウンロード・インストールされ、最低限の設定が行われます!

    次にVagrantの設定ファイルを作成します。

    vagrant init

    フォルダのなかにVagrantfileというファイルがあれば成功です。
    このファイルにカスタマイズしたい内容を記述するのですが、動かすのみであれば不要のため省略します。

    Vagrantの起動方法

    vagrnt up

    必要なコマンドはこれだけです。簡単ですね。
    しばらく待つとLinux(CentOS)が起動します。

    これで仮想環境のできあがりです。不要になったら以下コマンドで終了させ、Vagrantfileを削除すれば環境の削除も簡単です。

    vagrant halt

    まとめ

    上記設定をすることで、プロジェクトごとの仮想環境を用意することができるようになりました。
    しかし、Vagrantはすべての問題を解決するソフトウェアではありません。
    Vagrantで仮想環境を用意しても、結局は各種ソフトウェアをインストールしなければならないという問題は残ったままです。
    もちろん、解決策はあります。

    今回はVagrantの紹介が長くなってしまったため、次回の記事で紹介できればと思います。

    様々シーンにおいてシステムアテンドを行うITソリューション事業部はこちら

    ●Wantedly掲載情報(本当にやりたいことに辿り着きたい技術大好きエンジニア募集!)

    ●Wantedly掲載情報(エンジニア想いの環境でJavaやPHPにチャレンジしたいエンジニア募集!)

    ●Wantedly掲載情報(Angular/Reactを極めたいフロントエンジニア大募集!!)

Pocket