当您调用ansible中的角色时,您将如何使用它?

Joh*_*ngs 2 ansible ansible-playbook ansible-role

您如何become在ansible中使用角色的用户?

例如,如何使用ansible geerlingguy.nodejsgalaxy中的角色将rootjs安装为root ?这是我所拥有的相关部分:

roles:
  - geerlingguy.nodejs
    become: yes
Run Code Online (Sandbox Code Playgroud)

但这会ERROR! Syntax Error while loading YAML在YAML文件上产生。

Joh*_*ngs 6

我终于找到了解决方案,从文档中可以很明显地看出来

roles:
    - role: geerlingguy.nodejs
      become: yes
Run Code Online (Sandbox Code Playgroud)

也可以写成:

roles:
    - { role: geerlingguy.nodejs, become: yes }
Run Code Online (Sandbox Code Playgroud)

这个有趣的新手之前不明显的部分是文档中使用的备用类似json的语法,其中指出“另外,如果您希望通过添加变量来对角色进行参数化,可以这样,如下:”

- hosts: webservers
  roles:
    - common
    - { role: foo_app_instance, dir: '/opt/a',  app_port: 5000 }
Run Code Online (Sandbox Code Playgroud)

我花了很长时间才弄清楚这个问题,因此希望这个答案对其他人有帮助。