IT Office Nishimiyahara

個人用スマホから商用プログラミングまでなんでもお任せ下さい

vagrantで開発環境を自動的に作成する

      2015/06/08

@nqounetです。

結構前に@__papix__さんから教えてもらったvagrantですが、ふとした切っ掛けで、もう少し本格的に使いたいと思いはじめました。

ちなみに、「ベイグラント」と聞いてこれを思い出しました。

まあ、それは置いておいて。

vagrantで開発環境の自動構築というと、chef-soloの情報が多いと思う(というか、chefだけだと思っていました)のですが、今回はshellでやってみた事を書いてみます。

その前にvagrantをインストール

Vagrant - Downloadsからダウンロードしてインストールするだけです。

OSXならdmgファイルを、Windowsならmsiファイルを選びます。

まずはshellでやってみた

Vagrantfile

このようにすると、Vagrantfileと同じディレクトリにあるbootstrap.shを自動的に実行してくれます。

今回調べていて知ったのですが、private_networkではこの例のようにDHCPを使って自動的にIPアドレスを割り当てるようにする事ができます。

これまではいちいちIPアドレスを重ならないように設定(重なると起動できない)していたのですが、これで変更する箇所が減って大分楽になりました。

bootstrap.sh

あちこちのブログでは、yumなどにsudoを付けて実行していましたが、そのような必要はありませんでした。

少なくとも「Vagrant version 1.2.2」では、rootとして実行されています。

で、これら2つのファイルを同じディレクトリに置いて、そのディレクトリで以下のようにコマンドを入力します。

上手く行けばPerlのビルドまで実行されるので、結構時間がかかります。

構築が終わったら、仮想マシンにログインします。

これで、先ほど作成したマシンにログインできます。

初期ユーザーはvagrantです。

で、先ほどのスクリプトはroot権限なので、rootに変わってからPerlがインストール出来ているか確認してみます。

これでrootになれましたので、続けてPerlのバージョンを見てみます。

結果は以下のとおり、上手くいっています。

とりあえず出来た感想

Perlbrewからcpanminusまでのインストール一式を、Perlbrewのファイルの存在で判定するのは微妙かもしれませんが、とりあえずこれはこれで良しとします。

ちなみに、DBD::mysqlを指定しているのは、MAMPが稼働中のOSXにこれがインストールできなくて泣いたからです。

とりあえず、DBD::mysqlがインストールできるかどうかを一つの指標にしていましたので、この結果は満足の行くものでした。

この調子で、今度はchef-soloで色々とやってみたいですね。

SEE ALSO

respo

respo link

ZenBackWidget

 - 情報技術について , ,