Jest to niesamowita funkcja, która pozwala narzędziom CI/CD, takim jak Jenkins zintegrować się z Ansible, co zapewnia większą kontrolę i automatyzację zadań, które wykonujesz.
Wymagania
Aby śledzić ten samouczek, musisz upewnić się, że masz następujące wymagania:
Możesz również potrzebować wystarczających uprawnień do wykonania poleceń na agenta/kontrolerze lub węzłach ansible.
Przykładowa konfiguracja projektu
Układ zapasów ansible
Rozbijmy konfigurację projektu. W tym samouczku mamy serwer Ubuntu, na którym instalują serwer WWW Apache za pomocą ansible.
Poniżej pokazuje układ naszego pliku inwentaryzacji hosta Ansible:
[Webservers]
172.29.42.58
Poprzedni ekwipunek zawiera kategorię WebServer z tylko jednym hostem, który wskazuje adres IP serwera Ubuntu.
Ansible Playbook
Dalej jest poradnik Ansible, który chcemy wykonać na serwerze. Wreszcie, jak wspomniano, musimy zainstalować Webserver Apache na komputerze Ubuntu.
Odpowiedni podręcznik jest następujący:
---
- Gospodarze: Wszyscy
staje się prawdą
Zadania:
- Nazwa: aktualizacja menedżera pakietu pamięci podręcznej
trafny:
aktualizacja_cache: true
- Nazwa: Zainstaluj serwer WWW Apache
trafny:
Nazwa: Apache2
Stan: obecny
- Nazwa: Rozpocznij serwer WWW Apache
praca:
Nazwa: Apache2
Stan: zaczął
Dostarczony podręcznik rozpoczyna się od aktualizacji pamięci podręcznej menedżera pakietu na hosta docelowym. Ponieważ mamy tylko jeden host w pliku ekwipunku Ansible, możemy ustawić hosty na wszystkie, jak pokazano w poprzednim podręczniku.
Następnie instalujemy serwer WWW Apache za pomocą modułu Ansible Apt. Na koniec uruchamiamy serwer WebServer za pomocą modułu serwisowego.
Skrypt Jenkinsfile
Ostatnim plikiem, którego potrzebujemy, jest Jenkinsfile, który definiuje etapy i stopnie rurociągu Jenkins.
Poniżej pokazuje cel Jenkinsfile:
rurociąg
agent etykieta „debian”
Etapy
scena („Run Ansible Playbook”)
kroki
sh 'ansible -playbook -i/etc/ansible/hosts -u ubuntu ~/Playbooks/instalue -apache.yml '
W tym przypadku Jenkinsfile używa agenta z etykietą „Debian” . Następnie JenkinsFile wywołuje polecenie Ansible-Playbook, aby uruchomić instalację.Playbook YML na hosta docelowym.
Budowanie rurociągu Jenkins
Po przygotowaniu plików docelowych i narzędzi możemy skonfigurować przykładowy rurociąg Jenkins.
Zaloguj się do kontrolera Jenkinsa i utwórz nowy rurociąg Jenkins.
W sekcji rurociągu wybierz „skrypt rurociągu” i wklej Jenkinsfile, który stworzyliśmy wcześniej.
Kliknij „Zapisz” i wybierz „Zbuduj teraz”.
Po kliknięciu kompilacji Jenkins wywołuje polecenia i uruchamia zadania ansible, które są zdefiniowane w podręczniku.
Wniosek
Odkryłeś, jak używać Jenkinsa do uruchamiania poradników Ansible na hosta docelowym za pomocą wtyczki Jenkins Ansible.