繁体   English   中英

厨师/厨房-如何从本地模板生成(不创建VM)

[英]Chef / kitchen - how to generate from a template locally (without creating the VM)

我有一本厨师食谱。 其目标之一是从.erb模板生成配置文件。 这样做是配方中的一个目标,并且模板输入映射是从node树中填充的。

template node['bbcpd-bpds-api']['api_config_path'] do
  source "opt/bpds-api/conf/api/bpds-api.yml.erb"
  mode 0644
  owner node['bbcpd-bpds-api']['user']
  group node['bbcpd-bpds-api']['group']
  variables(
      :application_protocol => node['bbcpd-bpds-api']['application_protocol'],
      :application_port => node['bbcpd-bpds-api']['application_port'],
  ...

我想在本地生成此模板(即,生成带有食谱源的目录),而无需准备虚拟机的所有其他操作。

基本上,我想在/attributes解析文件并准备node树,然后仅运行ERB模板引擎,而无需调用kitchen converge 或理想情况下,完全是kitchen 首选的目标环境是Java / JRuby / Maven。

那可能吗? 还是我最好的选择是将食谱与上面的模板目标分开,并且仅使该食谱称为kitchen converge 怎么做?

请参阅厨房命令文档
我只能看到kitchen converge PLATFORM作为选项-我可以添加一个套件。 但是我不知道那是什么。

还有run_lists 但是我看不到运行表条目以什么形式运行的解释。

这是不可能的。 Chef仅在聚合节点的上下文中运行。 你可以写某种自己的代码生成器,但它是无关的厨师大部分(虽然你也许能够陪审团钻机chef-apply应运而生的帮助,也许?)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM