Chef学习之六:Knife cookbook

开始学习cookbook了(http://docs.opscode.com/essentials_cookbook_directory.html)

官方文档介绍了3个命令,本以为很容易,没想到费了一番周折:

1. 最最简单的就是创建一个cookbook了,执行: D:\Tools\Chef\chef-repo-master>knife cookbook create cb_first,就会生成文件夹:D:\Tools\Chef\chef-repo-master\cookbooks\cb_first,里面有cookbook默认的文件。

2. 接着试了一下下载一个官方的cookbook,执行:D:\Tools\Chef\chef-repo-master>knife cookbook site download java,就会下载一个tar.gz文件。

3. 最后尝试安装一个cookbook的时候发生问题,执行:D:\Tools\Chef\chef-repo-master>knife cookbook site install java,首先碰到的问题是,我的repo没有加入到git,这是因为我是直接把git上的源代码打包下载下来的,所以好解决,把他假如到我的git repo里面就OK了。接着再次执行,发现还是报错:ERROR: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0]。看了真是一头雾水,网上查了点资料,发现可以使用-VV开关输出详细信息:knife cookbook site install java -VV,终于明白了是git.exe找不到,因为不在PATH环境变量中。通过everything定位git.exe,这东西还真奇怪,路径是:C:\Users\PunCha\AppData\Local\GitHub\PortableGit_93e8418133eb85e81a81e5e19c272776524496c6\bin\git.exe。。。晕。。git这东西还真没搞明白怎么用。那就把路径加到环境变量去吧,第三次运行,终于OK了,输出如下:

D:\Tools\Chef\chef-repo-master>knife cookbook site install java
Installing java to D:/Tools/Chef/chef-repo-master/cookbooks
Checking out the master branch.
Creating pristine copy branch chef-vendor-java
Downloading java from the cookbooks site at version 1.10.0 to D:/Tools/Chef/chef
-repo-master/cookbooks/java.tar.gz
Cookbook saved: D:/Tools/Chef/chef-repo-master/cookbooks/java.tar.gz
Removing pre-existing version.
Uncompressing java version 1.10.0.
removing downloaded tarball
1 files updated, committing changes
Creating tag cookbook-site-imported-java-1.10.0
Checking out the master branch.
Updating b6c4159..191847e
Fast-forward
 cookbooks/java/.gitignore                          |   7 +
 cookbooks/java/CHANGELOG.md                        |  92 +++++++
 cookbooks/java/CONTRIBUTING.md                     | 257 ++++++++++++++++++++
 cookbooks/java/Gemfile                             |   3 +
 cookbooks/java/LICENSE                             | 201 ++++++++++++++++
 cookbooks/java/README.md                           | 213 +++++++++++++++++
 cookbooks/java/attributes/default.rb               |  77 ++++++
 .../files/default/tests/minitest/openjdk_test.rb   |  25 ++
 .../files/default/tests/minitest/oracle_test.rb    |  24 ++
 cookbooks/java/metadata.json                       |  45 ++++
 cookbooks/java/metadata.rb                         |  19 ++
 cookbooks/java/providers/ark.rb                    | 264 +++++++++++++++++++++
 cookbooks/java/recipes/default.rb                  |  33 +++
 cookbooks/java/recipes/openjdk.rb                  |  97 ++++++++
 cookbooks/java/recipes/oracle.rb                   |  68 ++++++
 cookbooks/java/recipes/oracle_i386.rb              |  52 ++++
 cookbooks/java/recipes/windows.rb                  |  28 +++
 cookbooks/java/resources/ark.rb                    |  38 +++
 cookbooks/java/templates/default/oracle.jinfo.erb  |   6 +
 19 files changed, 1549 insertions(+)
 create mode 100644 cookbooks/java/.gitignore
 create mode 100644 cookbooks/java/CHANGELOG.md
 create mode 100644 cookbooks/java/CONTRIBUTING.md
 create mode 100644 cookbooks/java/Gemfile
 create mode 100644 cookbooks/java/LICENSE
 create mode 100644 cookbooks/java/README.md
 create mode 100644 cookbooks/java/attributes/default.rb
 create mode 100644 cookbooks/java/files/default/tests/minitest/openjdk_test.rb
 create mode 100644 cookbooks/java/files/default/tests/minitest/oracle_test.rb
 create mode 100644 cookbooks/java/metadata.json
 create mode 100644 cookbooks/java/metadata.rb
 create mode 100644 cookbooks/java/providers/ark.rb
 create mode 100644 cookbooks/java/recipes/default.rb
 create mode 100644 cookbooks/java/recipes/openjdk.rb
 create mode 100644 cookbooks/java/recipes/oracle.rb
 create mode 100644 cookbooks/java/recipes/oracle_i386.rb
 create mode 100644 cookbooks/java/recipes/windows.rb
 create mode 100644 cookbooks/java/resources/ark.rb
 create mode 100644 cookbooks/java/templates/default/oracle.jinfo.erb
Cookbook java version 1.10.0 successfully installed
Installing windows to D:/Tools/Chef/chef-repo-master/cookbooks
Checking out the master branch.
Creating pristine copy branch chef-vendor-windows
Downloading windows from the cookbooks site at version 1.8.4 to D:/Tools/Chef/ch
ef-repo-master/cookbooks/windows.tar.gz
Cookbook saved: D:/Tools/Chef/chef-repo-master/cookbooks/windows.tar.gz
Removing pre-existing version.
Uncompressing windows version 1.8.4.
removing downloaded tarball
1 files updated, committing changes
Creating tag cookbook-site-imported-windows-1.8.4
Checking out the master branch.
Updating 191847e..f0b683b
Fast-forward
 cookbooks/windows/CHANGELOG.md                     | 161 ++++++
 cookbooks/windows/CONTRIBUTING                     |  29 +
 cookbooks/windows/LICENSE                          | 201 +++++++
 cookbooks/windows/README.md                        | 609 +++++++++++++++++++++
 cookbooks/windows/attributes/default.rb            |  22 +
 .../default/handlers/windows_reboot_handler.rb     |  76 +++
 cookbooks/windows/libraries/feature_base.rb        |  41 ++
 cookbooks/windows/libraries/helper.rb              |  86 +++
 cookbooks/windows/libraries/registry_helper.rb     | 357 ++++++++++++
 cookbooks/windows/libraries/version.rb             | 204 +++++++
 cookbooks/windows/libraries/windows_privileged.rb  |  94 ++++
 cookbooks/windows/metadata.json                    |  31 ++
 cookbooks/windows/metadata.rb                      |   9 +
 cookbooks/windows/providers/auto_run.rb            |  32 ++
 cookbooks/windows/providers/batch.rb               |  62 +++
 cookbooks/windows/providers/feature_dism.rb        |  47 ++
 .../windows/providers/feature_servermanagercmd.rb  |  47 ++
 cookbooks/windows/providers/package.rb             | 251 +++++++++
 cookbooks/windows/providers/pagefile.rb            | 153 ++++++
 cookbooks/windows/providers/path.rb                |  35 ++
 cookbooks/windows/providers/printer.rb             | 100 ++++
 cookbooks/windows/providers/printer_port.rb        | 102 ++++
 cookbooks/windows/providers/reboot.rb              |  31 ++
 cookbooks/windows/providers/registry.rb            |  72 +++
 cookbooks/windows/providers/shortcut.rb            |  56 ++
 cookbooks/windows/providers/task.rb                | 124 +++++
 cookbooks/windows/providers/zipfile.rb             |  91 +++
 cookbooks/windows/recipes/default.rb               |  34 ++
 cookbooks/windows/recipes/reboot_handler.rb        |  32 ++
 cookbooks/windows/resources/auto_run.rb            |  30 +
 cookbooks/windows/resources/batch.rb               |  36 ++
 cookbooks/windows/resources/feature.rb             |  40 ++
 cookbooks/windows/resources/package.rb             |  46 ++
 cookbooks/windows/resources/pagefile.rb            |  29 +
 cookbooks/windows/resources/path.rb                |  28 +
 cookbooks/windows/resources/printer.rb             |  41 ++
 cookbooks/windows/resources/printer_port.rb        |  40 ++
 cookbooks/windows/resources/reboot.rb              |  29 +
 cookbooks/windows/resources/registry.rb            |  33 ++
 cookbooks/windows/resources/shortcut.rb            |  35 ++
 cookbooks/windows/resources/task.rb                |  46 ++
 cookbooks/windows/resources/zipfile.rb             |  33 ++
 42 files changed, 3655 insertions(+)
 create mode 100644 cookbooks/windows/CHANGELOG.md
 create mode 100644 cookbooks/windows/CONTRIBUTING
 create mode 100644 cookbooks/windows/LICENSE
 create mode 100644 cookbooks/windows/README.md
 create mode 100644 cookbooks/windows/attributes/default.rb
 create mode 100644 cookbooks/windows/files/default/handlers/windows_reboot_hand
ler.rb
 create mode 100644 cookbooks/windows/libraries/feature_base.rb
 create mode 100644 cookbooks/windows/libraries/helper.rb
 create mode 100644 cookbooks/windows/libraries/registry_helper.rb
 create mode 100644 cookbooks/windows/libraries/version.rb
 create mode 100644 cookbooks/windows/libraries/windows_privileged.rb
 create mode 100644 cookbooks/windows/metadata.json
 create mode 100644 cookbooks/windows/metadata.rb
 create mode 100644 cookbooks/windows/providers/auto_run.rb
 create mode 100644 cookbooks/windows/providers/batch.rb
 create mode 100644 cookbooks/windows/providers/feature_dism.rb
 create mode 100644 cookbooks/windows/providers/feature_servermanagercmd.rb
 create mode 100644 cookbooks/windows/providers/package.rb
 create mode 100644 cookbooks/windows/providers/pagefile.rb
 create mode 100644 cookbooks/windows/providers/path.rb
 create mode 100644 cookbooks/windows/providers/printer.rb
 create mode 100644 cookbooks/windows/providers/printer_port.rb
 create mode 100644 cookbooks/windows/providers/reboot.rb
 create mode 100644 cookbooks/windows/providers/registry.rb
 create mode 100644 cookbooks/windows/providers/shortcut.rb
 create mode 100644 cookbooks/windows/providers/task.rb
 create mode 100644 cookbooks/windows/providers/zipfile.rb
 create mode 100644 cookbooks/windows/recipes/default.rb
 create mode 100644 cookbooks/windows/recipes/reboot_handler.rb
 create mode 100644 cookbooks/windows/resources/auto_run.rb
 create mode 100644 cookbooks/windows/resources/batch.rb
 create mode 100644 cookbooks/windows/resources/feature.rb
 create mode 100644 cookbooks/windows/resources/package.rb
 create mode 100644 cookbooks/windows/resources/pagefile.rb
 create mode 100644 cookbooks/windows/resources/path.rb
 create mode 100644 cookbooks/windows/resources/printer.rb
 create mode 100644 cookbooks/windows/resources/printer_port.rb
 create mode 100644 cookbooks/windows/resources/reboot.rb
 create mode 100644 cookbooks/windows/resources/registry.rb
 create mode 100644 cookbooks/windows/resources/shortcut.rb
 create mode 100644 cookbooks/windows/resources/task.rb
 create mode 100644 cookbooks/windows/resources/zipfile.rb
Cookbook windows version 1.8.4 successfully installed
Installing chef_handler to D:/Tools/Chef/chef-repo-master/cookbooks
Checking out the master branch.
Creating pristine copy branch chef-vendor-chef_handler
Downloading chef_handler from the cookbooks site at version 1.1.4 to D:/Tools/Ch
ef/chef-repo-master/cookbooks/chef_handler.tar.gz
Cookbook saved: D:/Tools/Chef/chef-repo-master/cookbooks/chef_handler.tar.gz
Removing pre-existing version.
Uncompressing chef_handler version 1.1.4.
removing downloaded tarball
1 files updated, committing changes
Creating tag cookbook-site-imported-chef_handler-1.1.4
Checking out the master branch.
Updating f0b683b..73dbb64
Fast-forward
 cookbooks/chef_handler/CHANGELOG.md                |  28 +++
 cookbooks/chef_handler/CONTRIBUTING                |  29 +++
 cookbooks/chef_handler/LICENSE                     | 201 +++++++++++++++++++++
 cookbooks/chef_handler/README.md                   | 103 +++++++++++
 cookbooks/chef_handler/attributes/default.rb       |  30 +++
 .../chef_handler/files/default/handlers/README     |   1 +
 cookbooks/chef_handler/metadata.json               |  29 +++
 cookbooks/chef_handler/metadata.rb                 |   7 +
 cookbooks/chef_handler/providers/default.rb        |  93 ++++++++++
 cookbooks/chef_handler/recipes/default.rb          |  33 ++++
 cookbooks/chef_handler/recipes/json_file.rb        |  28 +++
 cookbooks/chef_handler/resources/default.rb        |  34 ++++
 12 files changed, 616 insertions(+)
 create mode 100644 cookbooks/chef_handler/CHANGELOG.md
 create mode 100644 cookbooks/chef_handler/CONTRIBUTING
 create mode 100644 cookbooks/chef_handler/LICENSE
 create mode 100644 cookbooks/chef_handler/README.md
 create mode 100644 cookbooks/chef_handler/attributes/default.rb
 create mode 100644 cookbooks/chef_handler/files/default/handlers/README
 create mode 100644 cookbooks/chef_handler/metadata.json
 create mode 100644 cookbooks/chef_handler/metadata.rb
 create mode 100644 cookbooks/chef_handler/providers/default.rb
 create mode 100644 cookbooks/chef_handler/recipes/default.rb
 create mode 100644 cookbooks/chef_handler/recipes/json_file.rb
 create mode 100644 cookbooks/chef_handler/resources/default.rb
Cookbook chef_handler version 1.1.4 successfully installed

D:\Tools\Chef\chef-repo-master>

看了下Git,提交了3个chang list:

1. Import java version 1.10.0

2. Import windows version 1.8.4

3. Import chef_handler version 1.1.4

然后在D:\Tools\Chef\chef-repo-master\cookbooks下面又多了3个cookbook,分别和上面对应:java, windows, chef_handler


目前为止,感觉我还在chef的门口游荡。。。还没入门。。。这东西学习门槛还真高!一般学习门槛高的都活不长,看看Chef能走多远咯~今天到此为止,休息休息一会儿。。看越狱去,嘎嘎




原文地址:https://www.cnblogs.com/puncha/p/3876923.html