Installer og bruk Ansible Jenkins -plugin

Installer og bruk Ansible Jenkins -plugin
Denne opplæringen utforsker hvordan vi kan integrere Ansible i våre Jenkins -rørledninger ved hjelp av Ansible -plugin. Dette lar oss kjøre Ansible -oppgavene som et byggetrinn i vår Jenkins -rørledning.

Dette er en utrolig funksjon som lar CI/CD -verktøyene som Jenkins integrere med Ansible som gir deg mer kontroll og automatisering av oppgavene du utfører.

Krav

For å følge med denne opplæringen, må du sørge for at du har følgende krav:

  1. En Jenkins -kontroller eller agent med installert Ansible CLI.
  2. Den siste Python -tolken som er installert på Jenkins Controller/Agent.
  3. Ansible Inventory som er konfigurert med målmaskinene dine.

Du kan også trenge tilstrekkelige tillatelser til å utføre kommandoene på agenten/kontrolleren eller Ansible Nodes.

Eksempel på prosjektkonfigurasjon

Ansible Inventory Layout

La oss bryte ned prosjektoppsettet. For denne opplæringen har vi en Ubuntu -server som installerer Apache -webserveren ved hjelp av Ansible.

Følgende viser utformingen av vår Ansible Host Inventory -fil:

[Webserverere]
172.29.42.58

Den forrige varelageret inneholder en Webserver -kategori med bare en vert som peker på IP -adressen til Ubuntu -serveren.

Ansible Playbook

Neste er Ansible Playbook som vi ønsker å utføre på serveren. Til slutt, som nevnt, må vi installere Apache Webserver på Ubuntu -maskinen.

Den tilsvarende spillboken er som følger:

---
- Verter: Alle
bli: sant
oppgaver:
- Navn: Oppdater pakningsadministrator cache
apt:
Update_cache: sant
- Navn: Installer Apache Web Server
apt:
Navn: Apache2
Stat: Nåværende
- Navn: Start Apache Web Server
service:
Navn: Apache2
Stat: startet

Den medfølgende lekeboken starter med å oppdatere pakningsadministratoren cache på målverten. Siden vi bare har en vert på Ansible Inventory -filen, kan vi sette vertene til alle som vist i forrige spillbok.

Deretter installerer vi Apache -webserveren ved hjelp av ANTIBLE APT -modulen. Endelig starter vi webserveren ved å bruke servicemodulen.

Jenkinsfile manus

Den siste filen som vi trenger er Jenkinsfile som definerer trinnene og trinnene i Jenkins -rørledningen.

Følgende viser målet Jenkinsfile:

rørledning
agent etikett 'debian'
Stadier
scene ('kjør av Ansible playbook')
trinn
Sh 'Ansible -Playbook -I/etc/Ansible/Hosts -u Ubuntu ~/Playbooks/Install -Apache.yml '



I dette tilfellet bruker Jenkinsfile agenten med "Debian" -etiketten . Deretter påkaller Jenkinsfile Ansible-Playbook-kommandoen for å kjøre installasjon-apache.YML Playbook på målverten.

Å bygge en Jenkins -rørledning

Når målfilene og verktøyene er klare, kan vi sette opp et eksempel på Jenkins -rørledningen.

Logg inn i Jenkins -kontrolleren din og lag en ny Jenkins -rørledning.

I rørledningsdelen velger du "Pipeline -skriptet" og lim inn Jenkinsfile som vi opprettet tidligere.

Klikk "Lagre" og velg "Bygg nå".

Når vi klikker på Build, påkaller Jenkins kommandoene og kjører Ansible -oppgavene som er definert i spillboken.

Konklusjon

Du oppdaget hvordan du bruker Jenkins til å kjøre Ansible Playbooks på målverten ved hjelp av Jenkins Ansible Plugin.