- Git Resource
- github などから直接ソースを落としてくる
- git はあらかじめインストール済みである必要がある
- repository でリポジトリの URL 指定
- reference でブランチ/タグなどを指定
- action :checkout は初回のみ。 :sync で毎回更新する
- チェックアウトしてきたあとインストールするには別途インストール操作を実施する(Bash Resource など)
引き続き第15章 任意のシェルスクリプトを実行したい - Execute, Script
- Script Resource
- Script Resource には何種類かあるらしい(bash, perl, ruby)
- bash
- root 権限(正確には chef-solo を実行したユーザの権限)で動く
- create - このレシピで作成されるファイルを指定することで、既にファイルが存在したら何もしない
- not_if, only_if - 条件を指定してそれが(偽、真)の時だけレシピを実行する。create と同様、羃等性の確保のために使う
- 文字列が渡されたらそれをインタプリタで実行して判定する
- Ruby のブロックを渡してその中で判定することもできる
- オプションで実行ユーザや環境変数を渡すこともできる
- not_if, only_if は実は他の Resource でも使える
- Script Resource はほぼ何でもできるけど抽象化されていないので自分でよく条件などを調整する必要がある
さらに続いて第16章 その他の Resource
もう名前を列挙するだけでだいたいわかるだろ? って感じです
- Cron Resource
- Deploy Resource
- 具体的な例がないですが git などからデプロイを行なうための Resource だそうです。Web App のデプロイに使えそうですね。ちょっと気になる……
- File
- http_request
- Ifconfig
- レシピ名に IP アドレスを指定して device などをアクションで指定
- Link
- Mount
- Route
- ruby_block
- 任意の Ruby のブロックを実行する。実行中の Chef そのものの情報が使えるところが特徴でしょうか