我想从ansible playbook中设置(并持久化)环境变量。我写道:
# Set the JVM ram
- name: Set the JVM ram
environment:
ES_HEAP_SIZE: 2g
但是,我得到了:
错误:任务中缺少“action”或“local_action”属性“设置 JVM ram“
答案 0 :(得分:2)
你有正确的想法。但是你错过了你的“行动”;每项任务都需要一项。如果您执行此操作,environment
设置将起作用/适用(但仅适用于此任务):
# Set the JVM ram
- name: Set the JVM ram
command: ./bin/elasticsearch # now using envvar instead of -Xmx10g -Xms10g
environment:
ES_HEAP_SIZE: 2g
# OR
#environment: {ES_HEAP_SIZE: 2g}
答案 1 :(得分:1)
environment
标记不是任务,而是可以应用于单个任务或全局应用的属性。根据{{3}}你想要做的只是在你的剧本顶部指定这样的东西:
---
environment:
ES_HEAP_SIZE: 2g
请注意,这与您指定的不同,因为- name
指定了单个任务的开始,其中上面的示例只是在顶层定义一个dict,ansible在处理之前解释并应用为环境变量任务。