Типовой проект#
Использование типовой структуры проектов Ansible позволяет упростить их создание, использование и поддержку.
Файлы и каталоги#
Структура типового проекта Ansible, для запуска которого используется Automation Controller или Ansible Navigator, имеет следующий вид:
Указанные файлы и каталоги используются для следующих целей:
playbooks/
.Каталог с файлами наборов сценариев. Если проект содержит только один набор сценариев, допускается разместить файл с ним в корневом каталоге проекта.
environments/
.Каталоги с файлами для различных окружений.
Внутри
environemnts/
для каждого окружения рекомендуется создать собственный каталог, в котором разместить:каталог
group_vars/
с файлами переменных для групп узлов;файл инвентаря
inventory.yml
.Примечание
Описание инвентаря необходимо только в том случае, когда проект разрабатывается для определенного списка управляемых узлов.
Если проект разрабатывается под одно окружение, каталог
environments/
и его подкаталоги можно не создавать, а его содержимое разместить в корне проекта:Структура проекта для одного окружения#Рекомендуемое название файла инвентаря в этом случае –
inventory.yml
.vars/
.Каталог с файлами, определяющими значения переменных для сценариев автоматизации.
Если все переменные хранятся в одном файле, допускается разместить его в корневом каталоге проекта. Рекомендуемое название файла в этом случае –
vars.yml
.files/
.Каталог с произвольным названием, который создают, если это необходимо для конкретного проекта. Он может понадобиться, например, для копирования файлов на управляемые узлы или для сборки образа среды исполнения.
execution-environment.yml
.Файл определения среды исполнения, используемой для запуска набора сценариев. Подробности см. в инструкции по созданию собственных образов среды исполнения.
Примечание
Если для указания зависимостей вы используете файл 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 образ среды исполнения, следуя инструкции по загрузке образов.
Создайте проект согласно инструкции по созданию проектов.
Создайте инвентарь нужного типа и добавьте в него сведения об управляемых узлах.
Используйте набор сценариев из проекта для создания шаблона заданий.
Запустите задание, следуя инструкции по запуску заданий на основе шаблона.