Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:ansible [2025/05/09 17:45] – Grosse maj suite à mes bidouilles zatalyzfr:ansible [2025/05/12 06:47] (Version actuelle) – [Fichiers de base] zatalyz
Ligne 77: Ligne 77:
 </code> </code>
  
 +Quelques définitions rapides :
 +  * Un playbook est la liste de "recettes" à appliquer dans un contexte précis (par exemple "créer une nouvelle machine")
 +  * Un rôle est un module qui pourra être appelé dans divers playbooks. Ça évite de se répéter : on importe juste le role dans le playbook. 
 ==== ansible.cfg ==== ==== ansible.cfg ====
  
Ligne 181: Ligne 184:
   * ''--step'' : confirmer chaque étape avant de passer à la suivante   * ''--step'' : confirmer chaque étape avant de passer à la suivante
   * ''--syntax-check'' : vérifie la syntaxe sans exécuter le playbook   * ''--syntax-check'' : vérifie la syntaxe sans exécuter le playbook
-  * ''-e'' ("extra-vars") : précise des variables additionnelles à utiliser dans le playbook. Par exemple ''-e "user=marcelle"''.+  * ''-e'' ("extra-vars") : précise des variables additionnelles à utiliser dans le playbook. Par exemple ''-e "user=marcelle"''. Mais il existe aussi une façon de le demander dans l'execution du playbook (avec [[https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_prompts.html|prompt]]).
  
  
Ligne 291: Ligne 294:
   - action: ping   - action: ping
 </code> </code>
 +
 +==== Mises à jour Debian via Ansible ====
 +
 +Pour les mises à jour sur Debian, utiliser apt-listbug est complexe avec Ansible, et sans, le risque existe de mettre à jour des paquets avec des bugs gênants et pourtant référencés. On travaille en stable, généralement, donc le risque n'est pas énorme, mais... il existe. Une solution est d'exécuter d'abord apt-listbug, d'examiner les rapports, puis de passer ensuite en variable les paquets à geler, et de faire le reste de la mise à jour. 
 +
 +<wrap important>Ce playbook n'est pas testé, je note ça en piste.</wrap>
 +<code yaml apt-listbug.yml>- name: Lister les bugs critiques détectés par apt-listbugs
 +  shell: |
 +    apt-get update -qq && apt-listbugs -y -T critical,grave list upgrade
 +  register: bugscan
 +  ignore_errors: true
 +
 +- name: Afficher les bugs trouvés
 +  debug:
 +    var: bugscan.stdout_lines
 +
 +- name: Stopper si des bugs critiques sont listés
 +  fail:
 +    msg: "Des bugs critiques ont été détectés, mise à jour arrêtée."
 +  when: bugscan.stdout is search("BUG:")
 +</code>
 +
 +Voir aussi [[https://docs.ansible.com/ansible/latest/collections/ansible/builtin/apt_module.html|la doc ansible sur Apt]] pour le reste de la mise à jour.
 +
 +==== Astuces diverses ====
 +  * Il est possible d'utiliser [[https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_conditionals.html|des conditions]] dans un playbook ("si... alors..."), ainsi que des [[https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_loops.html#playbooks-loops|boucles]] (loop)
 +  * [[https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_prompts.html|prompt]] permet d'afficher un prompt à l'exécutante du playbook, et de définir ainsi des variables à la demande. 
  
  
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/ansible.1746812751.txt.gz · Dernière modification : de zatalyz

Licences Mentions légales Accueil du site Contact Inclusion