29 October 2016

僕が使ってるPCは12インチMacbookなんですが、「12インチMacbookでもVagrantで快適にローカル開発出来るん?」と言う単純な疑問の元やってみた。
ついでにUNICORNフレームワーク側で一発でVagrantの環境が構築出来る機能を追加したよと言う話。

MacにVagrant+VirtualBox+Nginx+PHP7環境なUNICORNを一発でインストールする

 

先ずはXcodeをインストールしておく必要があります。

Xcode -> https://itunes.apple.com/jp/app/xcode/id497799835?mt=12

なんでかと言うと、homebrewを使ってVagrantとかVirtualBoxのインストールを自動化してるんですが そのhomebrewの最新版を入れるのにXcodeが必要になるからです。
インストーラの中でxcode-select --installをしています。

 

インストールコマンドはちょー簡単です。

curl unicorn-project.github.io/install.sh | sh && sh ./vagrant-nginx.sh start

curl xxx | shはオープンソースなので誰かに書き換えれてるとまー危ないんで中身は確認する癖を付けるといいそうだよ!

 

コレだけ。

 

Vagrantのイメージファイル(1.6GBくらい)のダウンロードが走るので、完了まではそこそこ待たされますが
暫くまっていると・・・

インストール完了イメージ

ブラウザが起動して、UNICORN管理画面が開きます。
そのときにはVirtualBoxにIPアドレスが割り振られ、そのIPアドレスに仮のローカルドメインがMacの/etc/hostsファイルに追記されます。

 

アメイジングなお手軽さだね!

 

あとはもう管理画面にログインして「GENERATE NEW PROJECT」してゴリゴリ書き始めればOKです。
iOSアプリの雛形を使えばiOSの開発が直ぐに出来ますし
Andoridアプリの雛形(v0.3.0でようやく雛形追加出来ました!)を使えばAndroid Studioで直ぐに開発が始められます。

 

このままgitにPushすれば、チーム開発も楽に出来る

チームメイトはPullして

sh [push/pullしたディレクトリ]/vagrant-nginx.sh start

とやれば全く同じ環境が構築されます。
インストーラはVagrantVirtualBoxの存在をチェックしてインストールするかしないかもちゃんと処理してくれるので
既にインストール済みの場合は当然スキップしてくれます。
さらに、インストーラはVirtualBoxに追加済みのボックスの数を数えてIPアドレスを割り振りしてくれますので
競合が起きることもおそらく無いと思うので、そういった部分でも導入障壁はかなり下がるんじゃないでしょうか。

 

Vagrantは使い終わったらstopするとエコ(´v`)

sh [push/pullしたディレクトリ]/vagrant-nginx.sh stop

と、すると該当のBoxは停止します。
メモリーやCPUに気を使う環境の場合に役立てて下さい。

 

Boxへのログインも簡単!

sh [push/pullしたディレクトリ]/vagrant-nginx.sh login

これでBoxにsshしてくれます。

 

ここまでくるとマーベラスなお手軽さよね!!

 

他にも、Box設定の変更後の再読込用の

sh [push/pullしたディレクトリ]/vagrant-nginx.sh reload

や、Boxをimageファイル化する

sh [push/pullしたディレクトリ]/vagrant-nginx.sh package

などが用意されていますので活用して下さい。

 

で、やってみて

MAMPよりはやっぱり重いけれでも、一応動くし開発も出来るかなーくらいの重さではあった。
ただ、画像のバイナリをNginxから返す箇所があるのだけど、ここは外部ストレージとかでURLを用意して
それを読み込むような処理にしないとアプリの開発ではキツイ重さかも・・・

この辺りはおいおい改善して行きますm(__)m

 



blog comments powered by Disqus