【问题标题】:Print vars with Test Kitchen - Chef使用测试厨房打印变量 - 厨师
【发布时间】:2017-03-23 00:28:59
【问题描述】:

我正在与 Chef 和 Test Kitchen 合作,我在安装 Apache 2.2 时遇到了一些问题,我正在阅读带有我的食谱 (https://github.com/sous-chefs/apache2/blob/master/recipes/default.rb) 的食谱,我想知道安装 Apache 后这个食谱是如何工作的,我当我启动我的食谱时想要打印一些变量:

node['platform_family']
node['platform_version']

来自 Chef 官方文档的示例:

Chef::Log.fatal('You did not accept the license (set node["splunk"]["accept_license"] to true)')

但我在我的食谱中写道:

Chef::Log.info('PERSONAL-LOG,node["platform_family"]')

我得到了日志,但与我写的文本完全相同,我不能直接连接或调用 var。

有人可以帮我吗?

【问题讨论】:

    标签: ruby chef-infra test-kitchen


    【解决方案1】:

    它是一个ruby字符串插值的例子,请使用它作为:-

    Chef::Log.info("PERSONAL-LOG, #{node['platform_family']}")
    

    http://ruby-for-beginners.rubymonstas.org/bonus/string_interpolation.html

    【讨论】:

    • 我也不能用那个方法,但我发现一些更简单的方法: puts node['platform_family'] 找到问题就可以了。
    • Chef Logging 调用使日志作为 chef 运行的一部分,但一个简单的 puts 将在编译时打印出来。两者都很好。你能帮忙解释一下你在做什么吗?您可能还想参考:-stackoverflow.com/questions/38984083/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 2017-03-15
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    相关资源
    最近更新 更多