18
18

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.

Itamaeのeditアクションが便利

Posted at

Itamaeのeditアクションが便利

chefでもやろうと思えばできるんだとは思うが、少なくとも自分はここまで簡潔に書ける方法を知らなかったし、非常に便利だと感じたので書く。

itamaeのファイル系リソース(fileremote_filetemplate)では、actionアトリビュートに:editという値を指定できる。
これを使うとblockアトリビュートに指定したブロックを実行し、ファイルの内容を編集することができる。

使い方

file "/foo" do
  action :edit
  block do |content|
    content.gsub!("world", "Itamae")
  end
end

contentに対して破壊的な変更を下すことで、ファイルの内容が置き換わる。
ブロックの戻り値がファイルの内容に置き換わっても良いのでは、とも思ったが作者の思想的にはこれがベストなんだろうか。

おわりに

itamaeはchefと比べて、学習コストを割くことなく、さくっと環境構築フローをコードに落とし込めるDSL兼ツールという認識でいる。
chefはちょっとヘビーで…という人にはまさに最適なプロヴィジョニングツールになる気がする。

また、構築された環境に対するテストツールとして有名なserverspecも、itamaeと同様に基盤はspecinfraによって作られているので、itamaeとの親和性がものすごく高い印象を受けた

itamaeで環境構築フローをコードに落とし込んで自動化し、Serverspecでテストを書くというのが自分の中では鉄板化していくと思う。

18
18
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?