Installer et utiliser le plugin Jenkins Ansible

Installer et utiliser le plugin Jenkins Ansible
Ce tutoriel explore comment nous pouvons intégrer ANSIBLE dans nos pipelines Jenkins en utilisant le plugin Ansible. Cela nous permet d'exécuter les tâches ANSIBLE en tant qu'étape de construction dans notre pipeline Jenkins.

Ceci est une fonctionnalité incroyable qui permet aux outils CI / CD tels que Jenkins de vous intégrer à ANSIBLE, ce qui vous donne plus de contrôle et d'automatisation des tâches que vous exécutez.

Exigences

Pour suivre ce tutoriel, vous devez vous assurer que vous avez les exigences suivantes:

  1. Un contrôleur ou un agent Jenkins avec une CLI ANSIBLE installée.
  2. Le dernier interprète Python qui est installé sur le contrôleur / agent Jenkins.
  3. Inventaire anable qui est configuré avec vos machines cibles.

Vous pouvez également avoir besoin d'autorisations suffisantes pour exécuter les commandes sur l'agent / contrôleur ou les nœuds anibles.

Exemple de configuration du projet

Disposition des stocks ansible

Laissez-nous décomposer la configuration du projet. Pour ce tutoriel, nous avons un serveur Ubuntu sur lequel installer le serveur Web Apache en utilisant Anible.

Ce qui suit montre la disposition de notre fichier d'inventaire d'hôte Ansible:

[Webservers]
172.29.42.58

L'inventaire précédent contient une catégorie de serveur Web avec un seul hôte qui pointe vers l'adresse IP du serveur Ubuntu.

Manuel de jeu anable

Ensuite, le playbook anible que nous souhaitons exécuter sur le serveur. Enfin, comme mentionné, nous devons installer le serveur Web Apache sur la machine Ubuntu.

Le livre de jeu correspondant est le suivant:

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: mise à jour du Cache Manager des packages
apte:
Update_cache: true
- Nom: Installez le serveur Web Apache
apte:
Nom: apache2
État: présent
- Nom: Démarrez le serveur Web Apache
service:
Nom: apache2
État: commencé

Le playbook fourni commence par mettre à jour le cache de gestionnaire de packages sur l'hôte cible. Puisque nous n'avons qu'un seul hôte sur le fichier d'inventaire ANSIBLE, nous pouvons définir les hôtes sur tous comme indiqué dans le playbook précédent.

Ensuite, nous installons le serveur Web Apache à l'aide du module APSIBLE APT. Enfin, nous commençons le serveur Web à l'aide du module de service.

Script jenkinsfile

Le dernier fichier dont nous avons besoin est le JenkinsFile qui définit les étapes et les étapes du pipeline Jenkins.

Ce qui suit montre la cible Jenkinsfile:

pipeline
agent label 'debian'
étapes
Stage ('Run ANSIBLE Playbook')
pas
sh 'anible-playbook -i / etc / anible / hosts -u ubuntu ~ / playbooks / install-apache.yml '



Dans ce cas, le Jenkinsfile utilise l'agent avec le label «Debian» . Ensuite, le JenkinsFile invoque la commande ANSIBL-PlayBook pour exécuter l'installation-apache.YML Playbook sur l'hôte cible.

Construire un pipeline Jenkins

Une fois que les fichiers et les outils cibles sont prêts, nous pouvons configurer un exemple de pipeline Jenkins.

Connectez-vous dans votre contrôleur Jenkins et créez un nouveau pipeline Jenkins.

Dans la section Pipeline, sélectionnez le «script de pipeline» et collez le JenkinsFile que nous avons créé plus tôt.

Cliquez sur «Enregistrer» et choisissez «Build maintenant».

Une fois que nous avons cliqué sur Build, Jenkins invoque les commandes et exécute les tâches anibles qui sont définies dans le livre de jeu.

Conclusion

Vous avez découvert comment utiliser Jenkins pour exécuter les PlayBooks Ansible sur l'hôte cible à l'aide du plugin Jenkins Ansible.