java - 如何在 Chef 中运行具有依赖关系的 Recipe ?

标签 java ruby maven chef-infra cookbook

我已经在 get started (OS redhat 6.5) 中配置了 this step 工作站。我启动了一个节点。我这样修改了一本 Recipe :

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'

例如仅在执行 knife cookbook create myCookbook 后添加了 depends 'maven' 字符串。

myCookbook/recipes/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

然后我运行:

knife cookbook upload myCookbook

现在我正在尝试:

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]'

并得到:

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'

如何从那个 mtCookbook 将所有 Recipe 安装到 Chef 服务器取决于?

最佳答案

See here

或者只需键入 knife cookbook upload --help,它会向您显示以下行(以及其他行):

--include-dependencies 同时上传 cookbook 依赖项

所以 knife cookbook upload myCookbook --include-dependencies 就是你的答案

您还需要在您的工作站上安装maven cookbook,通过knife cookbook site install maven 或任何其他方式来拥有一个名为maven 的目录 在您的本地 cookbook_path 中,其中包含一个 Recipe ,其中 metatada.rb 文件作为键 name,值为 maven

关于java - 如何在 Chef 中运行具有依赖关系的 Recipe ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27420956/

相关文章:

ruby - 使用 Ruby(没有 Rails)在 Heroku 中创建 Postgresql 数据库

ruby-on-rails - rails : checking which controller method was called from within the model

java - 无法在redhat中将tomcat作为服务启动

java - 如何使用 CSS 更改 JavaFX FileChooser 的外观?

css - ruby rails : Required input field CSS not showing

java - Tomcat 7 java.lang.NoClassDefFoundError : javax/el/ELManager 错误

java.lang.UnsupportedClassVersionError : org/springframework/web/client/RestTemplate : Unsupported major. 次要版本 52.0

java - JSTL - 是否存在 put-list-attribute 的删除属性?

java - 在潜在语义索引方面需要帮助

maven - 在 Windows 8.1 上构建 Hadoop 2.6.0 失败 - Ant BuildException