Che*_*rry 1 ruby java cookbook maven chef-infra
我已经开始配置工作站这个步骤(OS redhat 6.5).我已经启动了一个节点.我修改了这样的食谱:
myCookbook/metadata.rb
name 'myCookbook'
maintainer 'YOUR_COMPANY_NAME'
maintainer_email 'YOUR_EMAIL'
license 'All rights reserved'
description 'Installs/Configures myCookbook'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '0.1.0'
depends 'maven'
Run Code Online (Sandbox Code Playgroud)
例如,执行depends 'maven'后只添加了字符串knife cookbook create myCookbook.
myCookbook /食谱/ default.rb
maven 'spring-context' do
group_id 'org.springframework'
version '4.0.4.RELEASE'
dest '/root/chef-repo/'
repositories ['http://repo.maven.apache.org/maven2/']
end
Run Code Online (Sandbox Code Playgroud)
然后我跑:
knife cookbook upload myCookbook
Run Code Online (Sandbox Code Playgroud)
现在我想:
knife bootstrap 192.168.1.37 --ssh-user root --ssh-password '123456' --sudo --use-sudo-password --node-name node-with-maven-run --run-list 'recipe[myCookbook]'
Run Code Online (Sandbox Code Playgroud)
得到:
ERROR: Cookbook myCookbook depends on cookbooks which are not currently
ERROR: being uploaded and cannot be found on the server.
ERROR: The missing cookbook(s) are: 'maven' version '>= 0.0.0'
Run Code Online (Sandbox Code Playgroud)
如何从mtCookbook安装所有cookbook到厨师服务器取决于?
或者只是输入knife cookbook upload --help,它会显示以下行(和其他行):
--include-dependencies Also upload cookbook dependencies
knife cookbook upload myCookbook --include-dependencies你的答案也是如此
您还需要maven在工作站上安装食谱,通过knife cookbook site install maven或以任何其他方式maven在本地调用cookbook_path包含食谱的metatada.rb目录,其中文件作为name具有值maven 的键
@rastasheep描述了berkshelf工具现在如何与chefdk包捆绑在一起.
它非常易于使用且值得学习.它的设计就像gem bundler工具一样.
??? myCookbook
??? Berksfile <-- Berkshelf configuration file
??? Berksfile.lock <-- Lock file generated by Berkshelf
??? metadata.rb
??? README.md
??? recipes
??? default.rb
Run Code Online (Sandbox Code Playgroud)
source "https://supermarket.getchef.com"
metadata
Run Code Online (Sandbox Code Playgroud)
"source"指令告诉berkshelf从哪里下载依赖项."metadata"指令告诉berkshelf从cookbook元数据中获取依赖关系.
"install"命令将下载cookbook依赖项(在〜/ .berkshelf下缓存)
$ cd myCookbook
$ berks install
Resolving cookbook dependencies...
Fetching 'myCookbook' from source at .
Fetching cookbook index from https://supermarket.getchef.com...
Installing maven (1.2.0)
Installing 7-zip (1.0.2)
Installing ark (0.9.0)
Installing chef_handler (1.1.6)
Installing java (1.29.0)
Installing windows (1.34.8)
Using myCookbook (0.1.0) from source at .
Run Code Online (Sandbox Code Playgroud)
Berkshelf还可以将所有烹饪书上传到您的厨师服务器中
$ berks upload
Uploaded 7-zip (1.0.2) to: 'http://127.0.0.1:8889/'
Uploaded ark (0.9.0) to: 'http://127.0.0.1:8889/'
Uploaded chef_handler (1.1.6) to: 'http://127.0.0.1:8889/'
Uploaded java (1.29.0) to: 'http://127.0.0.1:8889/'
Uploaded maven (1.2.0) to: 'http://127.0.0.1:8889/'
Uploaded myCookbook (0.1.0) to: 'http://127.0.0.1:8889/'
Uploaded windows (1.34.8) to: 'http://127.0.0.1:8889/'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7178 次 |
| 最近记录: |