原谅我的新手问题,但是我想执行三个任务并在剧本中使用两个角色,顺序如下:
这是我到目前为止(任务,角色,任务):
---
- name: Task Role Task
hosts: 127.0.0.1
connection: local
gather_facts: false
pre_tasks:
- name: Do this task first
foo:
roles:
- role: this role second
foo:
post_tasks:
- name: Do this task third
foo:
Run Code Online (Sandbox Code Playgroud)
这是可能的,还是应该将我的任务转变为角色?
Mic*_*raz 23
每个"主机:" - 块将逐个执行.因此,您可以使用多个块来强制执行所需的执行顺序:
---
- hosts: 127.0.0.1
tasks:
- name: Do this task first
- hosts: 127.0.0.1
roles:
- role: this role second
- hosts: 127.0.0.1
tasks:
- name: Do this task third
Run Code Online (Sandbox Code Playgroud)
sia*_*olt 21
我建议您为post ans和pre任务创建角色.
你的site.yml必须是这样的:
---
- hosts: localhost
remote_user: "{{remote_user}}"
sudo: yes
gather_facts: false
roles:
- pre
- main_role
- post
Run Code Online (Sandbox Code Playgroud)
在roles文件夹中,您必须具有三个角色:pre,post和main_role.
小智 14
---
- name: Task Role Task
hosts: 127.0.0.1
connection: local
gather_facts: false
tasks:
- name: task1
foo:
- name: include role1
include_role:
name: myrole1
- name: task2
foo:
- name: include role2
include_role:
name: myrole2
Run Code Online (Sandbox Code Playgroud)
看官方文档