📅  最后修改于: 2020-11-04 04:54:20             🧑  作者: Mango
编写Chef食谱总是很难的。由于将它们上传到Chef服务器,配置无用的VM,检查它们在此失败的方式,漂洗和重复的反馈周期较长,因此这变得更加困难。如果我们能够立即进行所有繁重的工作,然后尝试测试一些零件或配方,将会更加容易。
Chef附带了Chef-Shell,它本质上是与Chef进行的交互式Ruby会话。在Chef-Shell中,我们可以创建-
它用于动态评估部分食谱,然后将其上载到Chef服务器并在节点上执行完整的食谱。
步骤1-以独立模式运行Chef-Shell。
mma@laptop:~/chef-repo $ chef-shell
loading configuration: none (standalone chef-shell session)
Session type: standalone
Loading...[2017-01-12T20:48:01+01:00] INFO: Run List is []
[2017-01-12T20:48:01+01:00] INFO: Run List expands to []
done.
This is chef-shell, the Chef Shell.
Chef Version: 11.0.0
http://www.opscode.com/chef
http://wiki.opscode.com/display/chef/Home
run `help' for help, `exit' or ^D to quit.
Ohai2u mma@laptop!
chef >
步骤2-在Chef-Shell中切换到属性模式
步骤3-设置属性值。
步骤4-切换到配方模式。
步骤5-创建文件资源。
chef:recipe > file "/tmp/book.txt" do
chef:recipe > content node.title
chef:recipe ?> end
=>
chef:recipe >
步骤6-开始运行厨师以创建具有给定内容的文件。
[2017-01-12T21:07:49+01:00] INFO: Processing file[/tmp/book.txt]
action create ((irb#1) line 1)
--- /var/folders/1r/_35fx24d0y5g08qs131c33nw0000gn/T/cheftempfile20121212-
11348-dwp1zs 2012-12-12 21:07:49.000000000
+0100
+++ /var/folders/1r/_35fx24d0y5g08qs131c33nw0000gn/T/chefdiff20121212-
11348-hdzcp1 2012-12-12 21:07:49.000000000 +0100
@@ -0,0 +1 @@
+Chef Cookbook
\ No newline at end of file
[2017-01-12T21:07:49+01:00] INFO: entered create
[2017-01-12T21:07:49+01:00] INFO: file[/tmp/book.txt] created file
/tmp/book.txt
我们可以在三种不同的模式下运行Chef-Shell:独立模式,客户端模式和独奏模式。