【问题标题】:Chef Solo Jetty Cookbook AttributesChef Solo Jetty Cookbook 属性
【发布时间】:2013-10-06 17:04:37
【问题描述】:

我遇到了一个问题,我的 Vagrantfile 中的 chef.json 属性似乎被忽略/覆盖了。

环境:Mac OS X 10.8 主机,在 VirtualBox 4.18 中虚拟化的 Ubuntu 12.04 来宾。对食谱依赖项使用 Berkshelf,对所有食谱使用 Opscode 食谱。

盒子运转良好,但我试图配置得更像是我下载了 Jetty 并解压缩存档后的样子,而不是一堆从 /usr/share/jetty 到整个文件系统的符号链接它似乎默认为。

这是我的 Vagrantfile 的主厨部分:

config.vm.provision :chef_solo do |chef|

  chef.json = { :java => {
                :install_flavor => "oracle",
                :jdk_version => '7',
                :oracle => {
                  :accept_oracle_license_terms => true 
                }
              },
              :jetty => {
                :port => '8080',
                :home => '/opt/jetty',
                :config_dir => '/opt/jetty/conf',
                :log_dir => '/opt/jetty/log',
                :context_dir => '/opt/jetty/context',
                :webapp_dir => '/opt/jetty/webapp'
              }
            }

 chef.add_recipe "apt"
 chef.add_recipe "mongodb::default"
 chef.add_recipe "java"
 chef.add_recipe "jetty"
end

Chef 似乎正在阅读chef.json,因为我可以在 Vagrantfile 中更改 Jetty 的端口。

我尝试在 Jetty 食谱的 attributes/default.rb 中更改这些属性,但这也无济于事。

我错过了什么?

【问题讨论】:

    标签: jetty vagrant chef-solo


    【解决方案1】:

    如果您查看jetty/recipes/default.rb 中的以下块

    jetty_pkgs = value_for_platform(
      ["debian","ubuntu"] => {
        "default" => ["jetty","libjetty-extra"]
      },
      ["centos","redhat","fedora"] => {
        "default" => ["jetty6","jetty6-jsp-2.1","jetty6-management"]
      },
      "default" => ["jetty"]
    )
    jetty_pkgs.each do |pkg|
      package pkg do
        action :install
      end
    end
    

    对于 Debian/Ubuntu,默认配方使用来自官方存储库的 DEB 包,而不是您想要的(从官方网站下载二进制文件,将其解压到您的首选位置)。

    因为 DEB 包有自己的规范(运行 dpkg -L jetty 以查看它们的文件/目录结构),我认为这就是你在 chef.json 中的属性覆盖不起作用的原因。

    您可以启用调试输出以在再次运行配置时查看更多信息

    VAGRANT_LOG=debug vagrant up

    注意:如果您希望 Jetty 以您喜欢的方式安装,最好编写自己的说明书来下载二进制文件并解压缩设置权限并执行其他操作;-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多