我在 main.yml 中包含了一些如下所示的任务(作为其他几个任务列表中的任务之一)
- name : remove swarm
include_tasks : swarm.undo.yml
tags : [ 'never', 'debug' ]
Run Code Online (Sandbox Code Playgroud)
当我运行指定的剧本时,--tags never
它只是不运行,但显示下面的输出。
PLAY [all] *****************************************************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************************************
ok: [node2]
ok: [node4]
ok: [node3]
ok: [node5]
ok: [node1]
ok: [node6]
TASK [swarm : remove swarm] ************************************************************************************************************************************
included: /home/xbox/Work/Infra/roles/swarm/tasks/swarm.undo.yml for node1, node2, node3, node4, node5, node6
PLAY RECAP *****************************************************************************************************************************************************
node1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node2 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node3 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node4 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node5 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node6 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Run Code Online (Sandbox Code Playgroud)
如果我不指定并注释掉该组中的其他任务(加上删除标签never
)。它按其应有的方式运行。
为什么会出现这种行为?我应该怎样做才能使其正确运行?
小智 5
您应该使用“apply”关键字,如果您没有使用该关键字,则该关键字不起作用。正确的语法(来自文档)是
- name: Apply tags to tasks within included file
include_tasks:
file: install.yml
apply:
tags:
- install
Run Code Online (Sandbox Code Playgroud)
如果您想使用一个标签运行所有任务,最好的方法如下:
- name: Include and run an inner and an outer task
include_tasks:
file: install.yml
apply:
tags: install
tags: install
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6683 次 |
最近记录: |