Welche Gründe sprechen für das Ansible Copy-Modul, um einzelne Dateienzeilen zu ändern?

Quelles sont les raisons d'utiliser le module Ansible Copy pour modifier des lignes de fichiers individuelles ?

Il est souvent nécessaire de modifier des lignes de fichiers individuelles. Pour cela, beaucoup utilisent les modules lineinfile ou blockinfile. L'expérience pratique montre toutefois qu'il ne faut pas utiliser ces modules si l'on souhaite modifier des fichiers. Il est alors préférable d'utiliser le module Template ou Copy. Notamment pour gérer non seulement des lignes individuelles, mais aussi le fichier entier. Il y a deux raisons à cela :

  • Lors de l'utilisation de lineinfile, il faut souvent utiliser Regex. Il en résulte les problèmes suivants : L'utilisation de Regex est souvent compliquée et les personnes qui utilisent alors les playbooks doivent être familiarisées avec Redex.
  • Le programmeur lui-même doit savoir et se souvenir que cette ligne particulière est gérée par Ansible dans ce seul fichier de configuration.

Si vous gérez l'ensemble du fichier avec un modèle Ansible, vous pouvez utiliser la variableansible_managed pour indiquer clairement que le fichier est sous le contrôle d'Ansible. Un autre avantage est en outre : vous pouvez utiliser une variable pour l'état de selinux et la modifier facilement sur les serveurs sur lesquels selinux ne devrait pas être en état d'exécution.

Formations/cours/séminaires correspondants :