Ansible to popularne, bezpłatne narzędzie do automatyzacji typu open source, które pozwala nam automatyzować zadania DevOps, takie jak zarządzanie konfiguracją, wdrażanie aplikacji itp.
Połączenie Ansible z GitHub Actions pozwala nam zautomatyzować wykonywanie podręczników Ansible za każdym razem, gdy w repozytorium wystąpi określone zdarzenie, np. wypychanie do głównej gałęzi.
W tym samouczku dowiesz się, jak skonfigurować akcję GitHub w celu uruchomienia podręcznika Ansible, który jest przydatny do automatyzacji wdrażania w odpowiedzi na zmiany w kodzie.
Warunki wstępne:
Przed kontynuowaniem upewnij się, że posiadasz następujące elementy:
- Konto GitHub
- Istniejące repozytorium GitHub
- Podstawowa znajomość podręczników Ansible
- Maszyna docelowa, na której Ansible może uruchamiać zadania. Upewnij się, że Ansible może połączyć się z tymi maszynami za pomocą modułu uruchamiającego GitHub.
Krok 1: Skonfiguruj środowisko Ansible
Utwórz i przechowuj podręcznik Ansible i wszystkie powiązane pliki w repozytorium GitHub. Powinno to obejmować pliki takie jak szablony ról, zmienne itp.
Przykładowy podręcznik wygląda następująco:
---- nazwa: Upewnij się, że Nginx jest zainstalowany na serwerach internetowych
hosty: serwer WWW
stać się: tak
zadania:
- nazwa: Zaktualizuj pamięć podręczną apt
trafny:
update_cache: tak
- nazwa: Zainstaluj Nginx
trafny:
nazwa: Nginx
stan: obecny
Upewnij się, że masz plik inwentarza określający maszyny docelowe dla Ansible.
Krok 2: Skonfiguruj sekrety w repozytorium GitHub
Biorąc pod uwagę, że podręcznik wymaga poufnych informacji, takich jak klucze SSH lub hasła, GitHub zapewnia sposób bezpiecznego przechowywania kluczy tajnych:
Przejdź do repozytorium GitHub.
Przejdź do Ustawienia > Sekrety i zmienne -> Działania -> Nowy sekret repozytorium.
Krok 3: Utwórz przepływ akcji GitHub
W repozytorium utwórz katalog „.github/workflows”. W tym katalogu utwórz plik YAML dla swojego przepływu pracy.
Dodaj przepływ pracy w następujący sposób:
nazwa: Uruchom podręcznik AnsibleNA:
naciskać:
gałęzie:
- gospodarz
Oferty pracy:
wdrożyć:
działa: Ubuntu-latest
kroki:
- nazwa: Kod do kasy
używa: akcje/checkout@v2
- nazwa: Konfigurowanie klucza SSH
biegnij: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > klucz prywatny.pem
chmod 600 klucz_prywatny.pem
- nazwa: Uruchom podręcznik Ansible
biegnij: |
aktualizacja sudo apt
sudo apt install -y ansible
ansible-playbook -i hosts.ini mój-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}
Krok 4: Uruchom przepływ pracy
Za każdym razem, gdy wypychasz do gałęzi master, GitHub automatycznie uruchomi ten przepływ pracy i w ten sposób wykona podręcznik.
Wniosek
To wszystko, jeśli chodzi o ten. Omówiliśmy, jak uruchomić podręcznik Ansible przy użyciu akcji Github.