Installa e usa il plugin Ansible Jenkins

Installa e usa il plugin Ansible Jenkins
Questo tutorial esplora come possiamo integrare Ansible nelle nostre condutture Jenkins usando il plugin Ansible. Questo ci consente di eseguire le attività Ansible come gradino di build nella nostra pipeline Jenkins.

Questa è una caratteristica incredibile che consente agli strumenti CI/CD come Jenkins di integrarsi con Ansible che ti dà un maggiore controllo e automazione delle attività che si stanno eseguendo.

Requisiti

Per seguire questo tutorial, è necessario assicurarsi di avere i seguenti requisiti:

  1. Un controller o un agente Jenkins con CLI ANSIBILE installata.
  2. L'ultimo interprete di Python che è installato sul controller/agente Jenkins.
  3. Inventario Ansible che è configurato con le macchine target.

Potresti anche aver bisogno di autorizzazioni sufficienti per eseguire i comandi sull'agente/controller o sui nodi Ansible.

Configurazione del progetto di esempio

Layout di inventario ansible

Abbattiamo la configurazione del progetto. Per questo tutorial, abbiamo un server Ubuntu su cui installare il server Web Apache utilizzando Ansible.

Quanto segue mostra il layout del nostro file di inventario dell'host Ansible:

[Webservers]
172.29.42.58

L'inventario precedente contiene una categoria WebServer con un solo host che indica l'indirizzo IP di Ubuntu Server.

Playbook Ansible

Il prossimo è il playbook Ansible che desideriamo eseguire sul server. Infine, come accennato, dobbiamo installare il server Web Apache sulla macchina Ubuntu.

Il playbook corrispondente è il seguente:

---
- Host: tutto
diventa vero
compiti:
- Nome: Aggiorna la cache del gestore dei pacchetti
Apt:
update_cache: vero
- Nome: installa Apache Web Server
Apt:
Nome: Apache2
Stato: presente
- Nome: Avvia Apache Web Server
servizio:
Nome: Apache2
Stato: iniziato

Il playbook fornito inizia aggiornando la cache di pacchetti sull'host di destinazione. Dato che abbiamo solo un host sul file di inventario Ansible, possiamo impostare gli host su tutti come mostrato nel precedente playbook.

Successivamente, installiamo il server Web Apache utilizzando il modulo APSible APT. Infine, avviamo il server web utilizzando il modulo di servizio.

Script Jenkinsfile

L'ultimo file di cui abbiamo bisogno è Jenkinsfile che definisce le fasi e i passaggi della pipeline di Jenkins.

Di seguito mostra il bersaglio Jenkinsfile:

tubatura
agente etichetta 'debian'
fasi
Stage ('run ansible playbook')
Passaggi
sh 'ansible -playbook -i/etc/ansible/host -u ubuntu ~/playbooks/install -apache.YML '



In questo caso, Jenkinsfile utilizza l'agente con l'etichetta "Debian" . Quindi, Jenkinsfile invoca il comando Ansible-Playbook per eseguire l'installazione-Apache.Playbook YML sull'host target.

Costruire una pipeline di Jenkins

Una volta pronti i file e gli strumenti di destinazione, possiamo impostare una pipeline Jenkins di esempio.

Accedi al controller Jenkins e crea una nuova pipeline Jenkins.

Nella sezione della pipeline, selezionare lo "Script della pipeline" e incollare Jenkinsfile che abbiamo creato in precedenza.

Fai clic su "Salva" e scegli "Build Now".

Una volta fatto clic su Build, Jenkins invoca i comandi ed esegue le attività Ansible che sono definite nel playbook.

Conclusione

Hai scoperto come usare Jenkins per eseguire i playbook Ansible sull'host target usando il plugin Jenkins Ansible.