• 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能走多远咯~今天到此为止,休息休息一会儿。。看越狱去,嘎嘎




  • 相关阅读:
    HO引擎近况20210912
    查询超时问题的处理
    ubuntu根据关键词批量杀进程
    创建notebook适用的虚拟环境
    信赖域策略优化(Trust Region Policy Optimization, TRPO)
    强化学习(Reinforcement Learning)
    生成对抗网络(GAN与W-GAN)
    卷积神经网络CNN
    循环神经网络RNN
    PyTorch自动求导
  • 原文地址:https://www.cnblogs.com/puncha/p/3876923.html
Copyright © 2020-2023  润新知