summary ansible: 3 day

This commit is contained in:
Илья Макаров 2024-09-30 23:53:45 +03:00
parent 0644996428
commit 7bbad0976b

View File

@ -282,4 +282,59 @@ tasks:
name: apache2
state: present
when: ansible_facts['os_family'] == "Debian"
```
```
### Блоки
Для чего блоки:
1. **Группировка задач**: Несколько связанных задач можно объединить для удобства.
2. **Управление ошибками**: Можно задать специальную логику для обработки ошибок с помощью блоков `rescue` (обработчики ошибок) и `always` (выполняются всегда, независимо от успеха или неудачи).
3. **Условия и циклы**: Можно использовать блоки для использования `when`, `with_items` и тп
```yml
# Пример с rescue и always
- name: Основной блок
block:
- name: Первая задача
ansible.builtin.shell: echo "Running task 1"
- name: Вторая задача
ansible.builtin.shell: echo "Running task 2"
rescue:
- name: Обработка ошибок
ansible.builtin.debug:
msg: "Произошла ошибка!"
always:
- name: Выполняется всегда
ansible.builtin.debug:
msg: "Этот шаг выполнится всегда, даже если были ошибки."
```
1. `block`: — основной блок, в котором определяются задачи. Если в нём произойдёт ошибка, выполнение перейдёт в секцию rescue.
2. `rescue`: — блок для обработки ошибок. Выполняется, если одна из задач в блоке завершилась с ошибкой.
3. `always`: — блок для задач, которые должны выполняться всегда, вне зависимости от того, произошла ошибка или нет (например, очистка или уведомления).
4. `rescue` и `always` используются только в сочетании с блоками и относятся к конкретному блоку
### Модули
// TODO Информацию о модулях выше, перенести в эту главу
- **Модуль Dedug** - Модуль debug в Ansible используется для вывода отладочной информации во время выполнения плейбуков. Он помогает отображать значения переменных, выводить сообщения.
```yml
- name: Вывести сообщение
ansible.builtin.debug:
msg: "Задача завершена!"
```
```yml
- name: Вывести значение переменной
ansible.builtin.debug:
var: http_port
```
- **Модуль set_fact** - для всяких разных операций с переменными в плейбуке