Я написал шеф-повару 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
, library
и resource
) и прочитал документацию о настраиваемые ресурсы шеф-повара, но безуспешно.
Может кто-нибудь помочь мне: как преобразовать этот код в resource
, если это правильный способ сделать это (шеф-повар 12.6+)?
я был бы рад узнать
- где в поваренной книге находится ресурс рецепта (
chat/recipes
или еще куда?) - как должен выглядеть код (преобразование из моего определения выше)
- как называется новый код (из другого рецепта) и нужны ли там какие-то включения