Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
linux:ansible:include [2023/12/28 22:17] werwolf создано |
linux:ansible:include [2023/12/28 22:18] (текущий) werwolf [Как включать задачи для каждого элемента в цикле] |
||
|---|---|---|---|
| Строка 71: | Строка 71: | ||
| Теперь вы можете переписать исходный список задач следующим образом: | Теперь вы можете переписать исходный список задач следующим образом: | ||
| - | <code> | + | <code yaml> |
| --- | --- | ||
| # ./roles/my_role/tasks/main.yml | # ./roles/my_role/tasks/main.yml | ||
| Строка 108: | Строка 108: | ||
| Рассмотрим этот пример: | Рассмотрим этот пример: | ||
| - | <code bash> | + | <code yaml> |
| # ./roles/redis/tasks/main.yml | # ./roles/redis/tasks/main.yml | ||
| Строка 138: | Строка 138: | ||
| Вы могли бы преобразовать эти задачи в отдельные файлы, а затем использовать условную логику для их включения: | Вы могли бы преобразовать эти задачи в отдельные файлы, а затем использовать условную логику для их включения: | ||
| - | <code bash> | + | <code yaml> |
| --- | --- | ||
| # ./roles/redis/tasks/setup-Debian.yml | # ./roles/redis/tasks/setup-Debian.yml | ||
| Строка 150: | Строка 150: | ||
| </code> | </code> | ||
| - | <code> | + | <code yaml> |
| --- | --- | ||
| # ./roles/redis/tasks/setup-RedHat.yml | # ./roles/redis/tasks/setup-RedHat.yml | ||
| Строка 171: | Строка 171: | ||
| После создания отдельных файлов вы можете изменить файл основных задач, чтобы он выглядел следующим образом: | После создания отдельных файлов вы можете изменить файл основных задач, чтобы он выглядел следующим образом: | ||
| - | <code bash> | + | <code yaml> |
| # ./roles/redis/tasks/main.yml | # ./roles/redis/tasks/main.yml | ||
| Строка 183: | Строка 183: | ||
| Намного лучше, но вы могли бы сделать его еще более кратким, просто используя переменную 'ansible_os_family' для включения файла в одну строку: | Намного лучше, но вы могли бы сделать его еще более кратким, просто используя переменную 'ansible_os_family' для включения файла в одну строку: | ||
| - | <code bash> | + | <code yaml> |
| - include_tasks: "setup-{{ ansible_os_family }}.yml" | - include_tasks: "setup-{{ ansible_os_family }}.yml" | ||
| </code> | </code> | ||
| Строка 226: | Строка 226: | ||
| Запуск playbook приведет к следующему результату: | Запуск playbook приведет к следующему результату: | ||
| - | <code yaml> | + | <code bash> |
| TASK [set greeting fact] | TASK [set greeting fact] | ||
| ok: [123.123.123.123] | ok: [123.123.123.123] | ||