目前,对于给定的任务,ansible-2.x提供了一个名为become_user的选项,该选项允许在运行上下文中的任务之前更改用户。例如:
- name: Run Django database migrations
django_manage:
command: migrate
app_path: "{{ project_path }}"
settings: "{{ django_settings_file }}"
become_user: "{{ project_user }}"这里的become_user只适用于上下文中的任务,而不适用于随后运行的所有后续任务,除非在这些任务中也显式地使用了become_user。在剧本中,我们如何成为一组任务/后续任务的另一个用户?
备注:--我可以想出一种方法来做到这一点,那就是:将这些后续任务重构成一个新角色,并根据需要在单个任务上应用这个新角色。有没有其他替代/更简单的方法来改变活动用户的后续任务,而不将这些任务放在单独的角色中?
发布于 2016-05-22 12:10:33
这可以通过Ansible 2中引入的区块特性来完成:
- block:
- task 1
- task 2
- task N
become_user: ...https://stackoverflow.com/questions/37372780
复制相似问题