厨师 - `kitchen.yml`属性中的表达式?

时间:2017-12-11 15:10:06

标签: configuration chef

kitchen.yml中,我想在attributes:部分有一个表达式。但是它似乎只是一个带有文字值的静态文件。

以某种方式可以评估attributes:中的值吗?

需要的原因是我在node.default中有一些defaults.rb,其中一些是同一主机上的网址,例如http:foo.org/service。在kitchen.yml我想要参数化主机。所以我会:

... 
attributes: { serviceX_baseURL: "http://bar.org/service" }

我希望覆盖发生在kitchen_*.yml覆盖而不是attributes/*.rb(这会更容易),因为在已经生成主kitchen.yml文件之后,覆盖发生在流程的后期

欢迎任何实用的解决方案。

1 个答案:

答案 0 :(得分:0)

你可以在.kitchen.yml中使用Erb格式来进行一些非常简单的模板化,但你并没有真正给出一个具体的例子。有可能你不应该这样做,通常参数化同一输入的代码和测试意味着测试是脆弱的或不测试你认为它们是什么。