アラのアラアラしい日記

こっそりかいてます

ottoちょっとだけ使ってみた

こんにちは!「みそスープ」って呼ぶ日本人が許せないタイプの人です。

今回は最近でたottoを使ってみたメモです。開発環境編です。
ottoに関しての説明は以下にあるので省略しますね!(ニッコリ)
Otto by HashiCorp

まず、ottoコマンドを利用するためにバイナルファイルをダウンロードします。
ダウンロードしたファイルを解凍して、/usr/bin~/binに置くだけで準備完了です。
これだけでもかなりありがたいですね🙏

ottoファイルをセットしたらコマンドを確認します。

$ otto
usage: otto [--version] [--help] <command> [<args>]

Available commands are:
    build      Build the deployable artifact for the app
    compile    Prepares your project for being run.
    deploy     Deploy the application
    dev        Start and manage a development environment
    infra      Builds the infrastructure for the Appfile
    status     Status of the stages of this application
    version    Prints the Otto version

コマンドの使い方がダラっと表示されます。

公式のドキュメントにはサンプルがありますが、今回は自分のRailsプロジェクトで触ってみたのでそんな感じで。
プロジェクトのホムーディレクトリに移動して、ottoでアプリケーションを動かすための準備をします。

$ otto compile

これによって、.ottoid ファイルと.otto/ディレクトリが作成されます。(この中にVagrantfile等が入っています)
この時点でどんなアプリケーションなのかを判断しているそうですね。

次にottoでvagrantを起動し、SSH接続します。
接続したらbundleを入れておきます。

$ otto dev   #最初は時間がかかります。
$ otto dev ssh
$ bundle

あとはWebサーバの起動するだけです。公式ではrackupを使っていますが、
今回は今までのプロジェクトをそのまま使いたかったのでrails serverしました。

$ bundle exec rails s
INFO  WEBrick::HTTPServer#start: pid=10078 port=3200

こんな感じでWebサーバがスタートするので、あとは対象のポートに合わせてブラウザで動作を確認するだけ!
IPアドレスotto devした時にサラッと表示されていますがぐちゃぐちゃして分かりづらいので、以下のコマンドで確認することが出来ます。

$ otto dev address
172.16.1.253

今回の場合だとhttp://172.16.1.253:3200/で接続出来ます。

最後に、使い終わった環境は全てサクッと削除出来ます。

$ otto dev destroy

また、suspend等のvagrantコマンドを使いたい場合はotto dev vagrantで利用可能です。