👁 Для автоматизации конфигурации и управления многосерверной инфраструктурой или приложениями можно использовать Ansible с Python. Библиотека subprocess позволяет запускать Ansible playbook из Python-скрипта, что интегрирует процессы развертывания в проект или CI/CD pipeline.
📝 Пример кода для автоматизации запуска Ansible playbook:
import subprocess
def run_ansible_playbook(playbook_path, inventory_file):
command = [
'ansible-playbook',
'-i', inventory_file,
playbook_path
]
result = subprocess.run(command, capture_output=True, text=True)
if result.returncode == 0:
print("Playbook executed successfully")
else:
print(f"Error occurred: {result.stderr}")
# Пример использования
run_ansible_playbook('/path/to/playbook.yml', '/path/to/inventory')
📌 Как это работает:
subprocess.run()— используется для выполнения внешней команды (в данном случае, запуска Ansible), с возможностью захвата вывода для последующего анализаansible-playbook— командой Ansible, которая запускает заданный playbook для развертывания конфигураций на удалённых серверахinventory_file— это список серверов или хостов, на которых будет выполняться playbook, что позволяет гибко управлять несколькими инстансами в разных окружениях- Обработка ошибок — анализируем возвратную информацию для корректной диагностики и автоматического логирования ошибок
❗️ Это позволяет вам интегрировать различные этапы CI/CD в одном инструменте, тем самым ускоряя процессы тестирования и доставки.
tags: #python #ansible #автоматизация


