我有一个任务:
- name: Copy celeryconfig.py to "proj_dir/monitor/"
copy:
src="templates/repo/celeryconfig.py.j2"
dest={{proj_dir}}/monitor/celeryconfig.py
run_once: true
存储的变量vars \ mail.yml。在这个文件里面我定了rabbitmq_app_user,rabbitmq_app_pass,rabbitmq_app_vhost。
和模板文件:
BROKER_URL = "apmq://{{rabbitmq_app_user}}:{{rabbitmq_app_pass}}@IP/{{rabbitmq_app_vhost}}"
但是当我运行playbook时,结果看起来与模板文件中的内容完全相同。似乎我尝试访问/vars/main.yml中定义的变量的方式不正确。在我的案例中,访问变量的正确方法是什么?
答案 0 :(得分:3)
如果你想在Ansible中使用jinja模板,你也必须使用template模块。尝试这样的事情:
- name: Copy celeryconfig.py to "proj_dir/monitor/"
template:
src: "repo/celeryconfig.py.j2"
dest: "{{ proj_dir }}/monitor/celeryconfig.py"
run_once: true