Low*_*ong 4 ansible ansible-playbook
目前我的剧本结构是这样的:
~/test_ansible_roles ??? tree .
.
??? checkout_sources
? ??? tasks
? ??? main.yml
??? install_dependencies
? ??? tasks
? ??? main.yml
??? make_dirs
? ??? tasks
? ??? main.yml
??? setup_machine.yml
Run Code Online (Sandbox Code Playgroud)
我的一个角色是在我的盒子上安装依赖项,所以我需要这样做sudo.因为我需要将所有其他任务包括在内:
become: yes
become_user: my_username
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗 ?
您可以设置每个become选项:
每本剧本:
- hosts: whatever
become: yes
become_user: my_username
roles:
- checkout_sources
- install_dependencies
- make_dirs
Run Code Online (Sandbox Code Playgroud)
每个角色:
- hosts: whatever
roles:
- checkout_sources
- role: install_dependencies
become: yes
become_user: my_username
- make_dirs
Run Code Online (Sandbox Code Playgroud)
每项任务:
- shell: do something
become: yes
become_user: my_username
Run Code Online (Sandbox Code Playgroud)
您可以随意组合使用.该剧本可以作为用户A运行,作为用户B运行,最后作为用户C作为角色内的任务运行.
become很少需要定义每个剧本或角色.如果角色内的单个任务需要sudo,则只应为该特定任务而不是角色定义.
如果角色内的多个任务需要become,则块会派上用场以避免再次发生:
- block:
- shell: do something
- shell: do something
- shell: do something
become: yes
become_user: my_username
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6234 次 |
| 最近记录: |