definition
チャット サーバーに投稿するシェフを作成しました。
定義が推奨されなくなったので、これをリソースとして書き直すにはどうすればよいですか? 「イベント」方法を使用してコードをトリガーする方法に特に興味があります。
ファイルchat\definitions\post.rb
:
define :chat_post do
chat_url = 'https://chat.our.company/hooks/abcdef1234567890'
message = params[:name]
execute "echo" do
command "curl -m 5 -i -X POST -d \"payload={"text": "#{message}"\" #{chat_url}"
ignore_failure true
end
end
レシピ内のコードの呼び出し:
artifacts.each do |artifactItem|
# deploy stuff
# ...
chat_post "#{node['hostname']}: Deployed #{artifact_name}-#{version}"
end
今、私はシェフのドキュメントを読み、さまざまなことを試しました(正確にはModule
、 a 、 a 、library
および a )、シェフのカスタムリソースresource
に関するドキュメントを読みましたが、成功しませんでした。
誰かが私を案内してもらえますか:このコードを に変換する方法resource
、それが適切な方法である場合 (chef 12.6+) ?
教えていただければ幸いです
- レシピ リソースはクックブックのどこに配置されますか (
chat/recipes
、または他の場所?) - コードがどのように見えるか (上記の私の定義から変換)
- 新しいコードは (別のレシピから) どのように呼び出されますか?そこにインクルードが必要ですか?