【发布时间】:2017-06-20 16:18:31
【问题描述】:
我有 json 文件作为环境文件导入厨师,
{
"mongodb": {
"replicaset": {
"nodes": [
"test-mongo1:27017",
"test-mongo2:27017"
]
}
}
}
我添加了如下厨师食谱模板来构建 mongo 连接字符串,
"mongo": {
"url" : "mongodb://<% node['mongodb']['replicaset']['nodes'].each do |replica| -%>admin:123456@<%= replica %>/user_db1",
<% end %>
但是像下面这样的输出并且没有作为 JSON 验证
"mongo": {
"url" : "mongodb://admin:123456@test-mongo1:27017/user_db1",
admin:123456@test-mongo2:27017/user_db1",
预期结果:
"mongo": {
"url" : "mongodb://admin:123456@test-mongo1:27017/user_db1,admin:123456@test-mongo2:27017/user_db1",
已关注How to Run for each loop in template chef,但我的 ruby 并不是最好的,因为我刚刚开始接触所有这些东西。任何帮助都会很棒,谢谢。
【问题讨论】:
-
使用
map而不是each。
标签: ruby chef-infra