最好不要在Ansible的角色依赖中写入Galaxy角色

我认为应该对每个任务或角色进行单独设置「become」,我打算在另一篇文章中写这个问题。在元依赖中有一些Galaxy角色的项目,这些项目在角色中需要root权限的任务通常没有设置为become: true,这导致了一些问题,所以我们应该停止这种做法。

譬如,使用geerlingguy.redis套件模块的任务里没有become: true,所以需要采用以下的用法。

# とある playbook で
- hosts: redis
  become: true
  roles:
    - role: geerlingguy.redis
# とある playbook で
- hosts: redis
  roles:
    - role: geerlingguy.redis
      become: true
# とある tasks で
- name: "Install Redis"
  become: true
  import_role:
    - name: geerlingguy.redis

然而,在meta文件中无法以以下方式编写。

# とある meta で
- dependencies
  - role: geerlingguy.redis
    become: true # ← 無視される
广告
将在 10 秒后关闭
bannerAds