ご存知でしょうかmruby、最近話題に上がっています。
さて、『mrubyを試してみたいが環境のことがよくわからない。。』という声に勝手にお応えし、Chefのクックブックで手軽にLinuxサーバへ導入できるようにしてみました。
Chefをインストール
curl -L https://www.opscode.com/chef/install.sh | sudo bash
mruby cookbook を入れる
ローカルのCookbookリポジトリを初期化して、コミュニティのクックブックをインストールします。
make, gccが無い人はbuild-essential
もついでにインストールして下さい。gitは事前にパッケージなりでインストールを。
mkdir -p /var/chef/cookbooks cd /var/chef/cookbooks git init touch README.md git add README.md git commit README.md -m 'initial commit' knife cookbook site install build-essential ## GCCが無い場合のみ knife cookbook site install mruby
これらすべて、Redhat/Debian系同じコマンドで良いので楽ですね。
mrubyをインストール
chef-solo -o 'build-essential,mruby'
## GCCがない
chef-solo -o 'mruby'
## GCCが既にある or 2回目以降
もうmrubyが使えますよ。実行時のmrubyのmasterがインストールされます。
# /usr/local/bin/mruby --version mruby - Embeddable Ruby Copyright (c) 2010-2013 mruby developers
userのmgemを使いたい
アトリビュートとして追加しましょう、例えばこのようなJSON。force_rebuild
を指定すればmrubyのmasterに更新がなくともビルドをしてくれます。
{ "mruby": { "force_rebuild" : true, "build_options" : { "user_gems" : [ [":git", "https://github.com/iij/mruby-io.git"] ] } } }
再度ChefSoloを流しましょう。
chef-solo -o 'mruby' -j node.json -l info
# /usr/local/bin/mruby -e 'puts File, IO' File IO
mruby-io
のmgemが使えるようになりました!
フィードバック
mrubyのcookbookへのご意見、プルリクエストは Github: https://github.com/higanworks-cookbooks/mruby までお願いします。
Author Profile
-
sawanoboly@higanworksについて
HiganWorks LLCの代表、クラウドを利用したインターネットアプリケーションのプラットフォーム構築・運用の自動化をテーマに活動しています。OpsCode承認コントリビュータ等、サービスに関連するオープンソースコミュニティにも参加しています。