社内システム開発の開発環境構築で
最近社内システム開発をお手伝いしてたりしていたのですが、自分が開発環境構築&コーディングしていて、開発環境構築の手順が「各自でググれ」みたいになっている状態でした。
さすがにこれは不味い…
というより、自分自身思い出せなくなってしまいます。
手遅れになる前に開発環境くらいは自動で作れるようにしたいと思いました。
そこでItamae
https://github.com/itamae-kitchen/itamae
Chefライクなプロビジョニングツールです。
公式のドキュメントも充実していて分かりやすいですね。
ベストプラクティスも載っていますが、Itamaeはそこらへんは利用者に任せてあるので、自分の場合は単純に1ファイルでやることにしました。
今回作った開発環境
WebサーバーとしてNginx、フレームワークとしてLaravel 5、DBはMySQLです。
node.jsonというファイルにプロジェクト名とGitHub API Tokenを入れて実行する形です。
GitHub APIのトークンを入れる理由ですが、ComposerでLaravelを入れる時に匿名アクセスだとアクセスが制限されてしまうモジュールがある為です。
node.jsonはこんな感じ
{ "env":{ "project" : "hello", "token" : "your api token" } }
ローカルで実行するには
itamae local --node-json node.json install_laravel.rb
ですね。
この後にブラウザでアクセスすると
お、インストール&設定が出来ているようです。
これで後から参加するメンバーも少し楽になりました。
注意
あくまでも開発用なのでfirewalldなども切っています。
本番に使うにはちゃんとそういう部分は本番用にプロビジョニングしましょう。