mirror of
https://github.com/ilyamak04/DevOps.git
synced 2025-04-05 07:34:49 +02:00
summary ansible: 3 day
This commit is contained in:
parent
0644996428
commit
7bbad0976b
@ -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** - для всяких разных операций с переменными в плейбуке
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user