0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Часто в плейбуках нужно выполнить много однотипных задач. Например, установить набор программ или добавить несколько пользователей:</p>
1
<p>Часто в плейбуках нужно выполнить много однотипных задач. Например, установить набор программ или добавить несколько пользователей:</p>
2
<p>Мы видим, что с помощью<em>apt</em>сначала устанавливается<em>redis-server</em>, а затем<em>postgresql</em>. В реальном примере список может содержать десятки пакетов. Чтобы упростить этот процесс, Ansible предоставляет механизм под названием циклы. С его помощью можно установить все пакеты в одной таске. Назовем ее install packages:</p>
2
<p>Мы видим, что с помощью<em>apt</em>сначала устанавливается<em>redis-server</em>, а затем<em>postgresql</em>. В реальном примере список может содержать десятки пакетов. Чтобы упростить этот процесс, Ansible предоставляет механизм под названием циклы. С его помощью можно установить все пакеты в одной таске. Назовем ее install packages:</p>
3
<p>Здесь используется переменная {{ item }} и добавлен ключ loop. Внутри него содержится список элементов, которые будут по очереди подставлены вместо переменной item.</p>
3
<p>Здесь используется переменная {{ item }} и добавлен ключ loop. Внутри него содержится список элементов, которые будут по очереди подставлены вместо переменной item.</p>
4
<p>Циклы - очень мощный механизм. Его можно использовать не только с модулем apt, но и с любым другим модулем. Этот модуль будет последовательно отрабатывать таску для каждого элемента.</p>
4
<p>Циклы - очень мощный механизм. Его можно использовать не только с модулем apt, но и с любым другим модулем. Этот модуль будет последовательно отрабатывать таску для каждого элемента.</p>
5
<p>Правда в случае модуля<em>apt</em>все немного проще. Ему достаточно передать массив в<em>name</em>:</p>
5
<p>Правда в случае модуля<em>apt</em>все немного проще. Ему достаточно передать массив в<em>name</em>:</p>
6
<p>Еще один вариант использования loop:</p>
6
<p>Еще один вариант использования loop:</p>
7
<p>Отличие заключается в том, что для добавления пользователя нужны несколько параметров: имя пользователя и группа (возможно, их будет еще больше). Изменения небольшие: мы так же указываем список loop, но внутри него каждый элемент - это хеш, в котором описаны нужные значения. Доступ к значениям item осуществляется через точку.</p>
7
<p>Отличие заключается в том, что для добавления пользователя нужны несколько параметров: имя пользователя и группа (возможно, их будет еще больше). Изменения небольшие: мы так же указываем список loop, но внутри него каждый элемент - это хеш, в котором описаны нужные значения. Доступ к значениям item осуществляется через точку.</p>