become
在ansible中使用角色时,您如何成为用户?
例如,如何使用 ansible Galaxy 中的geerlingguy.nodejs
角色以 root 身份安装 nodejs?这是我所拥有的相关部分:
roles:
- geerlingguy.nodejs
become: yes
但这会ERROR! Syntax Error while loading YAML
在 YAML 文件中产生。
become
在ansible中使用角色时,您如何成为用户?
例如,如何使用 ansible Galaxy 中的geerlingguy.nodejs
角色以 root 身份安装 nodejs?这是我所拥有的相关部分:
roles:
- geerlingguy.nodejs
become: yes
但这会ERROR! Syntax Error while loading YAML
在 YAML 文件中产生。
我终于找到了一个解决方案,回想起来,从文档中可以明显看出
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 }
我花了太长时间才弄清楚这一点,所以希望这个答案能对其他人有所帮助。