Jetty 厨师独奏码头食谱属性
我的Vagrant文件中的Jetty 厨师独奏码头食谱属性,jetty,vagrant,chef-solo,Jetty,Vagrant,Chef Solo,我的Vagrant文件中的chef.json属性似乎被忽略/覆盖 环境:Mac OS X 10.8主机,在VirtualBox 4.18中虚拟化的Ubuntu 12.04来宾。使用Berkshelf作为食谱依赖项,使用Opscode作为所有食谱的食谱 盒子运转良好,但我正在尝试配置更像我下载Jetty并取消归档时的外观,而不是像默认的那样从/usr/share/Jetty到整个文件系统的一堆符号链接 这是我档案中的厨师部分: config.vm.provision :chef_solo do |
chef.json
属性似乎被忽略/覆盖
环境:Mac OS X 10.8主机,在VirtualBox 4.18中虚拟化的Ubuntu 12.04来宾。使用Berkshelf作为食谱依赖项,使用Opscode作为所有食谱的食谱
盒子运转良好,但我正在尝试配置更像我下载Jetty并取消归档时的外观,而不是像默认的那样从/usr/share/Jetty
到整个文件系统的一堆符号链接
这是我档案中的厨师部分:
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
,因为我可以在这个文件中更改Jetty的端口
我曾试图在Jetty cookbook的attributes/default.rb
中更改这些属性,但也没用
我遗漏了什么?如果您查看一下jetty/recipes/default.rb中的以下块
jetty\u pkgs=平台的值(
[“debian”,“ubuntu”]=>{
“默认”=>[“jetty”,“libjetty额外”]
},
[“centos”、“redhat”、“fedora”]=>{
“默认值”=>[“jetty6”、“jetty6-jsp-2.1”、“jetty6管理”]
},
“默认值”=>[“码头”]
)
防波堤包装,每件|
打包
操作:安装
结束
结束
对于Debian/Ubuntu,默认配方使用来自官方存储库的DEB包,而不是您想要的(从官方网站下载二进制文件,将其解压到您的首选位置)
因为DEB包有自己的规范(运行dpkg-L jetty
查看它们的文件/目录结构),所以我认为这就是为什么chef.json中的属性重写不起作用的原因
再次运行配置时,可以启用调试输出以查看更多信息
VAGRANT\u LOG=debug VAGRANT up
注意:如果您希望Jetty以您喜欢的方式安装,那么最好编写自己的食谱,下载二进制文件和untar设置权限,并执行其他操作;-)