GitHub действия в Ansible

Github Dejstvia V Ansible



Ansible е популярен, безплатен инструмент за автоматизация с отворен код, който ни позволява да автоматизираме задачите на DevOps, като например управление на конфигурацията, внедряване на приложения и др.

Комбинирането на Ansible с GitHub Actions ни позволява да автоматизираме изпълнението на Ansible playbooks всеки път, когато се случи конкретно събитие в хранилище, като натискане към главния клон.







Този урок ви учи как да настроите действие на GitHub за стартиране на Ansible playbook, което е полезно за автоматизиране на внедряването в отговор на промени в кода.



Предпоставки:

Преди да продължите, уверете се, че имате следното:



  • Акаунт в GitHub
  • Съществуващо хранилище на GitHub
  • Основни познания за Ansible books
  • Целева машина, където Ansible може да изпълнява задачите. Уверете се, че Ansible може да се свърже с тези машини от GitHub runner.

Стъпка 1: Настройте Ansible Environment

Създайте и съхранете Ansible playbook и всички свързани файлове в хранилището на GitHub. Това трябва да включва файлове като шаблони за роли, променливи и т.н.





Примерна книга за игра е както следва:

---
- име: Уверете се, че Nginx е инсталиран на уеб сървъри
хостове: уеб сървър
стана: да
задачи:
- име: Актуализиране на apt кеша
подходящо:
update_cache: да

- име: Инсталирайте Nginx
подходящо:
име: nginx
състояние: настояще

Уверете се, че имате инвентарен файл, посочващ целевите машини за Ansible.



Стъпка 2: Настройте тайните в GitHub Repository

Като се има предвид, че книгата се нуждае от чувствителна информация като SSH ключове или пароли, GitHub предоставя начин за сигурно съхраняване на тайните:

Отидете до вашето GitHub хранилище.

Отидете на Настройки > Тайни и променливи -> Действия  -> Нова тайна на хранилището.

Стъпка 3: Създайте GitHub Action Workflow

В хранилището създайте директория „.github/workflows“. В тази директория създайте YAML файл за вашия работен процес.

Добавете работния процес, както следва:

име: Изпълнете Ansible Playbook
На:
натиснете:
клонове:
- господар
работни места:
разположи:
работи на: ubuntu-latest
стъпки:
- име: Checkout code
използва: actions/checkout@v2
- име: Настройване на SSH ключ
изпълнение: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- име: Run Ansible Playbook
изпълнение: |
sudo apt актуализация
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

Стъпка 4: Задействайте работния процес

Всеки път, когато натискате към главния клон, GitHub автоматично ще стартира този работен процес и по този начин ще изпълни книгата.

Заключение

Това е всичко за този. Разгледахме как да стартирате Ansible playbook с помощта на действията на Github.