Сам Ansible Engine, ansible-playbook из пакета ansible, предоставляет средства для удаленного доступа к хостам и запуска на них модулей. Все, у основного инструмента нет API. Добавление дополнительных функций, таких как утверждение или управление доступом на основе ролей, подразумевает добавление компонентов сверху. Возможно, воспользуйтесь инструментами, которые вы, возможно, уже используете.
Ансибл-бегун это API для Ansible, на котором работает AWX, абстрагированный в библиотеку и образ контейнера. Рассмотрим это для написания сценариев Ansible. Если вам интересно, почему нет официального образа контейнера ansible, вот он.
Относительно простой случай — запустить ansible-playbook. Разработка Playbook утверждается через любой процесс совместного управления изменениями. Затем кто-то вручную входит на хост-бастион/управление, извлекает одобренный плейбук из системы контроля версий и запускает именно этот тег. Простой, никаких дополнительных компонентов для настройки. Но не хватает строгого контроля над тем, что именно запускается. Нетривиально сделать playbook неизменным для того, кто их запускает, все же нужно доверять человеку.
Конвейер непрерывной доставки, ориентированный на контроль версий, может соответствовать вашему рабочему процессу. Полнофункциональные подделки, такие как GitLab, могут требовать одобрения для мерж-реквестов. После утверждения получившийся плейбук автоматически запускается на рабочем конвейере с помощью ansible-runner. Рабочие — это то, что подключается к хостам среды через ssh. Жесткий контроль за тем, чтобы работала утвержденная версия. Однако этот стиль конвейера оптимизирован для разработчиков и, возможно, не подходит для запланированных запусков одного и того же.
Любой инструмент управления операциями, который может запускать произвольные сценарии, может запускать плейбуки.Rundeck или Jenkins, возможно, не являются полнофункциональными центрами разработки, но выполнение задач по триггерам — их основная компетенция. Снова рассмотрим ansible-runner как среду для выполнения Ansible.
И есть специальные веб-интерфейсы Ansible, в первую очередь AWX или семафор. AWX довольно сложен, он может выполнять все функции Ansible для предприятия любого размера. Семафор немного проще. Быть специфичным для Ansible может быть преимуществом. Но ни в коем случае они не являются альтернативой интерактивному Ansible на терминале. Ваша организация может предпочесть другие инструменты для разработки, утверждения и запуска вещей.