3

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

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

roles:
  - geerlingguy.nodejs
    become: yes

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

4

1 回答 1

7

我终于找到了一个解决方案,回想起来,从文档中可以明显看出

roles:
    - role: geerlingguy.nodejs
      become: yes

这也可以写成:

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

对于这个 ansible 新手来说,之前不明显的部分是文档中使用的替代 json-like 语法,当它声明“此外,如果您希望通过添加变量来参数化角色,您可以这样做,如下所示:”

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

我花了太长时间才弄清楚这一点,所以希望这个答案能对其他人有所帮助。

于 2016-11-29T01:01:11.070 回答