ansible:可以在角色中定义变量

时间:2016-04-30 17:23:28

标签: ansible

我可以直接在角色中定义var吗?

通过以下操作,我发现此角色ansible/roles/myrole/tasks/main.yml

出错
vars:
  source: /var/www/test.xxx.com/proj/assets
  dest:   /var/www/test.xxx.com/

- name: eb copy files
  shell: rsync -a  {{ source }} {{ dest }}

或者:

  source=var/www/test.xxx.com/proj/assets
  dest=var/www/test.xxx.com/

我得到了

ERROR: Syntax Error while loading YAML script

1 个答案:

答案 0 :(得分:0)

要在任务中定义变量,您可以使用set_fact module

- set_fact:
    source: /var/www/test.xxx.com/proj/assets
    dest: /var/www/test.xxx.com/

您还可以通过将变量放在vars目录中来设置角色中的事实。

ansible/roles/myrole/vars/main.yml