LoginSignup
3
3

More than 5 years have passed since last update.

otto 0.2.0の変更点

Last updated at Posted at 2016-01-30

新しいバージョンが出ました。変更点を確認します。

公式解説と要約

Otto 0.2 - HashiCorpに解説があります。

New and Improved App Types

JavaとPythonのサポートがされたようです。
RubyとPHPのサポートが改善されたようです。

あまり興味がないので、詳しくは見ていません。

Implicit Dependencies

ottoは依存するサービスをDockerで起動できます。
ただし、自分でAppfileを書く必要があります。
例えば、ottoでRedisを使う環境を用意する - Qiitaです。
この依存サービスの検出を自動で行う機能です。

今の所、Rubyが対象です。
またソースを見た感じ、対応するGemは

  • dalli
  • pg
  • redis

の三つです。

Layered Development Environments

仮想環境の作成時に使い回しできる部分をキャッシュして、作成を早くする機能です。
Layeredは、使い回す層と、新しく作る層をイメージしているようです。

実測

Macbook Proで試してみます。

  • 2.4 GHz Intel Core i5
  • 8 GB 1600 MHz DDR3

初回は変わらないので、2回目以降の実行時間を計ります。
次のコマンドで時間を計ります。

time otto dev

0.1.2 約6分半

400.32 real        12.26 user         7.39 sys

0.2.0 約2分

123.89 real        12.33 user         4.83 sys

感想

とても便利です。
環境を作る際に、パラメーターを間違えても気楽に作り直せます。

App Type Plugins

プラグイン機構が入ったようです。
試していません。

これで対応するアプリケーションの数が増えるといいですね。

Appfileのフォーマット変更

customizationにつける文字列の用途が変わりました。
本番で設定を変えたい場合に使うようです。

詳しくはCustomization - Appfile - Otto by HashiCorpを見てください。

以前の意味はよく覚えていません。
"docker"が入っていることがありました。

before

application {
    name = "mongodb"
    type = "docker-external"
}

customization "docker" {
    image = "mongo:3.0"
    run_args = "-p 27017:27017"
}

after

application {
    name = "mongodb"
    type = "docker-external"
}

customization {
    image = "mongo:3.0"
    run_args = "-p 27017:27017"
}

全体の感想

真面目に自動的に開発環境を作るツールをつもりのようです。
労力がすごすぎて自分でやる気にはならないので、ありがたい限りです。

3
3
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
3
3