Ansible Galaxy
Описание
Облачное хранилище ролей
Преимущества
-
Не надо хранить роли рядом с проектом
-
Можно версионировать роли
-
Каждая роль - отдельный продукт
-
Получать гарантированный результат
Использование
Все начинается с файла requirements.yml
- src: ssh repo url .git
verison: "1.0"
name: "название которое будет использовать в вашем проекте (по умолчанию название берется из названия репозитория)
- src:
.
.
.
- В папке проекта Ansible создаем файл
requirements.yml - В файл
requirements.ymlуказываем адрес репозитория где находится роль, пишем версию и название под которым будем использовать эту роль в своих проектах - Выполняем установку роли через команду
ansible-galaxy role install --roles-path=/полный_путь_до_директории_roles -f -r requirements.yml
пример рабочего файла requirements.yml
src: ssh ссылка на репозиторий роли
verison: либо название тега который вам требуется, либо название ветки, либо хэш коммита
name: название роли которое будет использоваться внутри вашего проекта, по умолчанию берется название репозитория который вы указали в src
scm: название системы контроля версий
Алгоритм использования
-
Инициировать роль:
ansible-galaxy role init <name> -
Внутри роли инициировать git репозиторий:
git init -
Написать роль и заполнить meta информацию
-
Сохранить роль в git репозитории
-
Возле playbook.yml создать файл
requirement.ymlс указанием откуда брать роль -
Скачиваем роль
ansible-galaxy role install --roles-path=/полный_путь_до_директории_roles -f -r requirements.txt
Жизненный цикл роли
graph TD
A[Пишем код]
--> B[Проходим тесты]
B --> C[Обновляем роль]
C --> D[Делаем новый тэг]
D --> A