在ansible中调用角色时如何使用?

时间:2016-11-29 01:00:54

标签: ansible ansible-playbook ansible-role

在ansible中使用角色时,如何become用户?

例如,如何使用ansible galaxy的geerlingguy.nodejs角色以root身份安装nodejs?以下是我所拥有的相关部分:

roles:
  - geerlingguy.nodejs
    become: yes

但是这会在YAML文件上生成ERROR! Syntax Error while loading YAML

1 个答案:

答案 0 :(得分:4)

我终于找到了一个解决方案,回顾一下documentation

roles:
    - role: geerlingguy.nodejs
      become: yes

这也可以写成:

roles:
    - { role: geerlingguy.nodejs, become: yes }

此安慰新手之前不明显的部分是文档中使用的备用类似json的语法,当它指出“另外,如果你想通过添加变量来参数化角色,你可以这样做,就像这样: “

- hosts: webservers
  roles:
    - common
    - { role: foo_app_instance, dir: '/opt/a',  app_port: 5000 }

我花了太长时间搞清楚这一点,所以希望这个答案可以帮助别人。