我有一個curl命令,它是肥皂請求,並帶有基本身份驗證。爲了自動化,我需要在Chef食譜中實現這個curl。所以每次我執行主廚腳本時,我都會看到這個curl被執行。 請給我一個在廚師腳本中添加curl命令的語法。 https://docs.chef.io/resource_bash.html:如何在廚師食譜中執行curl命令?
回答
您可以在廚師配方
bash 'install_something' do
user 'root'
cwd '/tmp'
code <<-EOH
wget http://www.example.com/tarball.tar.gz
tar -zxf tarball.tar.gz
cd tarball
./configure
make
make install
EOH
end
有從這裏這個例子中使用bash命令。只要叫你curl命令。請記住,這不是真正的廚師的方式。只有在沒有其他轉義的情況下才能使用bash資源。
但應避免使用'bash'資源。通常,有一種「廚師的方式」來做事情。 – StephenKing
@StephenKing你是完全正確的。而且幾乎總是有一個廚師的方式。 – NaN
理想情況下,你可以添加一個防範,防止它每次運行(儘管我意識到這是OP所要求的)。增加一名有用的後衛至少會讓他更接近「廚師之路」。 –
難道你不使用http_request資源來做這個嗎?
喜歡的東西:
http_request 'SOAP request' do
url "http://www.example.com/example"
message <xml request>
action :post
end
有沒有辦法,我可以看到廚師食譜運行的是什麼curl命令? – inquisitive
一個簡單command
應該工作,與此類似。
command "curl -m 5 -i -X POST -d \"payload={}\" http://www.some.place/here"
查看卷頁的手冊頁以查看如何添加http標頭。
您也可以使用bash資源。例如
bash 'make curl request' do
cwd ::File.dirname(src_filepath)
code <<-EOH
curl -L https://github.com
EOH
end
cwd
在目錄中的bash shell中會在運行。
- 1. 在廚師的食譜執行命令
- 2. 如何執行廚師食譜?
- 3. 食譜不在廚師執行
- 4. 如何重新命名廚師食譜?
- 5. 如何在廚師食譜中轉換以下shell命令?
- 6. 獲取廚師食譜中的廚師食譜名稱
- 7. 如何運行OpenStack廚師食譜?
- 8. 廚師食譜 - 在屬性
- 9. 廚師 - 如何在食譜中獲得食譜的路徑
- 10. 廚師生成食譜
- 11. vagrant跑廚師食譜
- 12. RoR Heroku的廚師食譜
- 13. 廚師跳過食譜
- 14. 食譜:廚師獨奏
- 15. 如何添加廚師社區食譜?
- 16. 你如何模仿廚師食譜?
- 17. 如何將廚師食譜/食譜應用於多個節點?
- 18. 在廚師食譜中使用變量
- 19. 無法在廚師中安裝食譜
- 20. 在廚師食譜中使用搜索
- 21. 如何使用廚師食譜迭代廚師角色屬性
- 22. 廚師廚房缺少食譜
- 23. ExaData上運行的廚師食譜
- 24. 廚師再次運行食譜
- 25. 廚師沒有運行我的食譜
- 26. 將廚師食譜轉換爲一系列Bash命令?
- 27. 如何在IDE(如Eclipse)中開發和調試廚師食譜和食譜?
- 28. 如何讓廚師在食譜中運行所有食譜而不明確列出每一個食譜?
- 29. 任何廚師食譜或Jboss EAP 6.3的食譜?
- 30. 在廚師的食譜類錯誤
什麼是你的終極目標是什麼?這與冥想思維相矛盾。你想爲某種報道/監測你的廚師跑嗎?您可以使用Ruby的http客戶端來代替執行命令。 – StephenKing
正確的Stephen,考慮使用ruby調用外部REST API並將其作爲輕量級資源進行包裝。另一方面,如果您只是調用外部服務來設置一些節點數據,並且真的很好的方法是將REST服務稱爲ohai插件。許多選項更詳細可以提供更好的建議。 –