7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

otto v0.1.2のVagrantfile生成機能が便利そう

Last updated at Posted at 2015-10-07

ottoの話です。

前置き

  • otto deploy 以降のコマンドの話はしません。
  • v0.1.2devを使いました。現時点の公式安定版はv0.1.1です。

最初に結論

Vagrantfile生成機能が便利です。

Easy Vagrantとしてのotto

otto devコマンドだけを見れば、ottoは既存のプロジェクトを解析してVagrantfileを作ってくれる便利ツールです。

実質的に

  • otto compileコマンド: .otto/compiled/app/dev/Vagrantfileを作成
  • otto devコマンド: vagurant up

です。

うれしいシチュエーション

Railsアプリケーションを簡単に動かせるのが便利です。
(おそらく他の言語のアプリケーションでも使えますがRailsで試しました。)
たとえば

  • 社内の他チームが開発中のアプリケーションを試しに動かす
  • 既存のRuby on Railsアプリケーションの改修の見積もり依頼

厳密な環境ではなくとも、手早く起動したいときに便利です。

解決する問題

私は日頃はRuby on Railsを扱っていません。
たまに必要があって環境構築をしようとすると、なぜか毎回苦労します。

  • rubyはnativeで入れるのか、rvmやrbenvを使うのか? :anguished:
  • nokogiriのインストールするに毎回違う理由で失敗する :anger:
  • Gemの依存しているライブラリーを調べるのが辛い(myslq2はlibmysqld-devに依存しているのか?libmysqlclient-devに依存しているのか?):astonished:

これを勝手に解決してくれます!:100:

手順

仮想環境の構築

適当なアプリケーションをgit cloneします。
(publicな適当なアプリケーションが思いつかないので、省略します)
アプリケーションのディレクトリ内で

otto compile
otto dev

これだけで、VagrantとViratualBoxを使った仮想環境が作れます。
実行には10分ぐらい掛かります。

アプリケーションの初期設定

otto dev sshでsshログインして、config/database.ymlを用意します。
Ruby - Otto dev sshしてからhostのMysqlへの接続 - Qiita を参考にして、hostを設定するとホストOS上のMySQLに接続できます。

netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10

は仮想環境上実行します。

vagrant@precise64:/vagrant$ netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10
10.0.2.2
10.0.2.2

DBを構築して、アプリケーションを起動します。

rake db:migrate:reset
rake db:seed
rackup --host 0.0.0.0

otto dev address で仮想環境のIPアドレスがわかります。

(例えば)

~ otto dev address
172.16.1.229

http://172.16.1.229:9292 に接続すれば該当アプリケーションが動きます。

まとめ 0.12(次バージョン)で追加されたらうれしい機能

  • Gemfile(とGemfile.lock)から依存ライブラリーを解析
  • otto devでbundle実行

githubのmasterブランチに追加されている機能です。
公式のロードマップは確認していません。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?