Aller au contenu principal

ansible-node-playbook

Pour créer un playbook Ansible qui supprime Node.js s'il existe, puis le réinstalle sur une machine Debian 12 ARM64, vous pouvez suivre les étapes suivantes :

  1. Vérifier si Node.js est installé : Utilisez le module stat pour vérifier si Node.js est installé.
  2. Supprimer Node.js : Si Node.js est installé, utilisez le module apt pour le supprimer.
  3. Installer Node.js : Utilisez le module apt pour installer Node.js.

Voici un exemple de playbook Ansible pour accomplir cette tâche :

---
- name: Supprimer et réinstaller Node.js sur Debian 12 ARM64
hosts: all
become: yes
tasks:
- name: Vérifier si Node.js est installé
stat:
path: /usr/bin/node
register: node_installed

- name: Supprimer Node.js s'il est installé
apt:
name: "{{ item }}"
state: absent
purge: yes
with_items:
- nodejs
- npm
when: node_installed.stat.exists

- name: Ajouter le dépôt NodeSource pour Node.js 18.x (LTS)
apt_repository:
repo: "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main"
state: present
filename: nodesource
update_cache: yes
when: ansible_architecture == "aarch64"

- name: Importer la clé GPG de NodeSource
apt_key:
url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
state: present
when: ansible_architecture == "aarch64"

- name: Installer Node.js et npm
apt:
name:
- nodejs
state: present
update_cache: yes

- name: Vérifier la version de Node.js installée
command: node -v
register: node_version
changed_when: false

- name: Afficher la version de Node.js installée
debug:
msg: "Node.js version {{ node_version.stdout }} installée avec succès."

Explication du playbook :

  1. Vérifier si Node.js est installé : Le module stat vérifie si le binaire Node.js (/usr/bin/node) existe. Le résultat est enregistré dans la variable node_installed.

  2. Supprimer Node.js : Si Node.js est installé (node_installed.stat.exists est true), le module apt est utilisé pour supprimer Node.js et npm.

  3. Ajouter le dépôt NodeSource : Le dépôt NodeSource est ajouté pour installer Node.js 18.x (LTS). Ce dépôt est spécifique à l'architecture ARM64 (aarch64).

  4. Importer la clé GPG de NodeSource : La clé GPG de NodeSource est importée pour vérifier les paquets.

  5. Installer Node.js : Le module apt est utilisé pour installer Node.js.

  6. Vérifier la version de Node.js : La commande node -v est exécutée pour vérifier la version installée, et le résultat est affiché avec le module debug.

Exécution du playbook :

Pour exécuter ce playbook, sauvegardez-le dans un fichier, par exemple nodejs.yml, puis exécutez-le avec la commande suivante :

ansible-playbook -i inventory nodejs.yml

Remplacez inventory par votre fichier d'inventaire Ansible.

Remarque :

  • Ce playbook est conçu pour Debian 12 ARM64. Si vous utilisez une autre distribution ou architecture, vous devrez peut-être ajuster les étapes d'installation.
  • Assurez-vous que les hôtes cibles sont correctement configurés dans votre fichier d'inventaire Ansible.