Типовой проект#
Использование типовой структуры проектов Ansible позволяет упростить их создание, использование и поддержку.
Файлы и каталоги#
Структура типового проекта Ansible, для запуска которого используется Automation Controller или Ansible Navigator имеет следующий вид:
Указанные файлы и каталоги используются для следующих целей:
playbooks/
.Каталог с файлами playbook. Если проект содержит только один файл playbook, допускается разместить его в корневом каталоге проекта.
inventory/
.Каталог с файлами инвентаря. Рекомендуемый формат файлов – YAML.
Если инвентарь состоит из одного файла, допускается разместить его в корневом каталоге проекта. Рекомендуемое имя файла в этом случае –
inventory.yml
.Примечание
Инвентарь необходимо заполнять только в том случае, когда проект разрабатывается для определенного списка управляемых узлов.
files/
.Каталог с файлами, используемыми при сборке образа среды исполнения.
vars/
.Каталог с файлами с переменными, используемыми в playbook.
Если все переменные хранятся в одном файле, допускается разместить его в корневом каталоге проекта. Рекомендуемое имя файла в этом случае –
vars.yml
.execution-environment.yml
.Файл определения среды исполнения, используемой для запуска playbook. Подробности см. в инструкции по созданию собственных образов среды исполнения.
Примечание
Если для указания зависимостей вы используете файл requirements.yml
, поместите его в корневой каталог проекта.
Рекомендуемый порядок действий#
При работе над проектом рекомендуется следующий порядок действий:
Определите список используемых коллекций, изучите особенности их использования.
Разработайте код и отладьте его с помощью Ansible Navigator. В производственной среде в качестве EE рекомендуется использовать образ
aa-full-ee
. Если он не содержит необходимых коллекций, создайте собственный образ EE и опубликуйте его в приватном реестре коллекций как описано в документе Последовательность разработки.Опубликуйте код проекта в системе управления исходным кодом (SCM, Source Code Management).
Применение проекта#
Для запуска проекта рекомендуется использовать Automation Controller или Ansible Navigator.
Automation Controller#
Чтобы использовать Automation Controller для запуска проекта, выполните следующие действия:
Создайте полномочия нужного типа, следуя инструкции.
Понадобятся как минимум следующие полномочия:
Тип полномочия
Тип ресурса
Private Automation Hub
Система управления версиями (Source Control)
Система управления кодом, в которой хранится проект
Машина (Machine)
Управляемые узлы
Добавьте в Automation Controller образ среды исполнения, следуя инструкции по загрузке образов.
Создайте проект согласно инструкции по созданию проектов.
Создайте инвентарь нужного типа и добавьте в него сведения об управляемых узлах.
Используйте playbook из проекта для создания шаблона заданий.
Запустите задание, следуя инструкции по запуску заданий на основе шаблона.