在ansible中调用角色时如何使用become?
How do you use become when invoking a role in ansible?
如何在 ansible 中使用角色 become
用户?
例如,我如何使用 ansible galaxy 中的 geerlingguy.nodejs
角色以 root 身份安装 nodejs?这是我所拥有的相关部分:
roles:
- geerlingguy.nodejs
become: yes
但这会在 YAML 文件上生成 ERROR! Syntax Error while loading YAML
。
我终于找到了解决方案,回想起来从 documentation
roles:
- role: geerlingguy.nodejs
become: yes
这也可以写成:
roles:
- { role: geerlingguy.nodejs, become: yes }
这个 ansible 新手之前不明显的部分是文档中使用的替代 json 类语法,当它声明 "Also, should you wish to parameterize roles, by adding variables, you can do so, like this:"
- hosts: webservers
roles:
- common
- { role: foo_app_instance, dir: '/opt/a', app_port: 5000 }
我花了很长时间才弄清楚这个问题,所以希望这个答案能对其他人有所帮助。
如何在 ansible 中使用角色 become
用户?
例如,我如何使用 ansible galaxy 中的 geerlingguy.nodejs
角色以 root 身份安装 nodejs?这是我所拥有的相关部分:
roles:
- geerlingguy.nodejs
become: yes
但这会在 YAML 文件上生成 ERROR! Syntax Error while loading YAML
。
我终于找到了解决方案,回想起来从 documentation
roles:
- role: geerlingguy.nodejs
become: yes
这也可以写成:
roles:
- { role: geerlingguy.nodejs, become: yes }
这个 ansible 新手之前不明显的部分是文档中使用的替代 json 类语法,当它声明 "Also, should you wish to parameterize roles, by adding variables, you can do so, like this:"
- hosts: webservers
roles:
- common
- { role: foo_app_instance, dir: '/opt/a', app_port: 5000 }
我花了很长时间才弄清楚这个问题,所以希望这个答案能对其他人有所帮助。