Теги
В трюке про Taskfile была упомянута команда task run -- tag1
. В этой главе я покажу, что нужно, чтобы эта команда заработала.
На самом деле всё довольно просто. Рассмотрим пример проекта:
.
├── inventory
├── main.yml
└── roles
├── myrole1
│ └── tasks
│ └── main.yml
├── myrole2
│ └── tasks
│ └── main.yml
└── myrole3
└── tasks
└── main.yml
В главном плейбуке main.yml
перечисляются роли и к каждой роли подписывается набор тегов:
---
- name: Deploy
hosts: all
become: true
roles:
- { role: myrole1, tags: [foo, init] }
- { role: myrole2, tags: [bar, init] }
- { role: myrole3, tags: [buz] }
Я использую теги двумя способами и в этом суть этого трюка:
- когда нужно запустить конкретную роль
task run -- foo
илиtask run -- bar
- когда нужно запустить серию плейбуков на какой-то группе хостов
tas run -- init