provisiningのテスト環境を作ってる
最近、借りてるVPSのスペック変えたんですよ。 ただ、変える課程でサーバー環境まるっと消されたんですよ。
これまで手作業でサーバー構築してたんですが、さすがにつどやるのが面倒になってきたのでコード化したい。 そのへん困ったこと出てきたら、まとめるシリーズになります。
ちなみにこんなものを使おうとしてます
docker
ビルド&スクラップ大事itamae](https://github.com/itamae-kitchen/itamae)
仕事じゃChef使ってるんですが、ちと複雑で挫折気味だったので、itamaeを試す
今日書くのはitamaeが動かない問題について
使ってるrubyバージョンは2.3
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin14]
この状態でitamaeを使う最低限のGemfile作っていれます。
source "https://rubygems.org"$ gem "itamae"$
bundle installして、おもむろにitamae help
この時特にバージョン指定してないので、itamae-1.9.10がインストールされます。
# itamae help /Users/shinoyu/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/itamae-1.9.10/lib/itamae/cli.rb:15:in `initialize': undefined method `upcase' for nil:NilClass (NoMethodError) from /Users/shinoyu/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor.rb:365:in `new' from /Users/shinoyu/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor.rb:365:in `dispatch' from /Users/shinoyu/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start' from /Users/shinoyu/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/itamae-1.9.10/bin/itamae:4:in `<top (required)>' from /Users/shinoyu/.rbenv/versions/2.3.0/bin/itamae:23:in `load' from /Users/shinoyu/.rbenv/versions/2.3.0/bin/itamae:23:in `<main>'
おや…?
類似の報告ないか調べてたら、http://kawakubox.hatenablog.com/entry/2016/12/13/014011 にそのままのことが書かれてました。すごくタイムリー。
itamaeのこのバージョンが依存しているthorのバージョンが良くないらしく、これを0.19.1にすれば解決するとのこと。
Gemfileをこんな感じにして入れ直すと正常に実行いけました。
source "https://rubygems.org" gem "thor", '0.19.1' #明示的にバージョン固定した版を先にいれとく gem "itamae"
# itamae help Commands: itamae destroy [cookbook|role] [NAME] # Undo role or cookbook (short-cut alias: "d") ....
OKそう