[PYTHON] [Ansible] Comment éviter que les modifications ne se produisent

Parfois, vous souhaitez utiliser le [module shell] d'Ansible (http://docs.ansible.com/ansible/shell_module.html) pour enregistrer uniquement les résultats de la commande dans le registre.

Dans mon cas, j'ai écrit cette tâche parce que je voulais savoir si le shell de connexion est zsh ou bash.

main.yml


- name: check using shell register in file path
  shell: |
      if [ `echo $SHELL | grep -c "zsh"` -eq 1 ]; then
        echo ".zshrc"
      elif [ `echo $SHELL | grep -c "bash"` -eq 1 ]; then
        if [ `uname` = "Linux" ]; then
          echo "~/.bashrc"
        elif [ `uname` = "Darwin" ]; then
          echo "~/.bash_profile"
        fi
      fi
  register: shell_configure_file

Chaque fois que la tâche ci-dessus est exécutée, ce sera `` changer ''

TASK: [python/pyenv/install | check using shell register in file path] ********
changed: [127.0.0.1]

J'ai vérifié diverses choses quand je voulais que cela change toujours bien, alors prenez note

environnement

Site référencé

Notes et astuces personnelles anible

Comment être toujours bien

Écrivez juste False dans la tâche



 Dans le cas de la tâche précédente, ce sera comme ça


#### **`main.yml`**
```yml

- name: check using shell register in file path
  shell: |
      if [ `echo $SHELL | grep -c "zsh"` -eq 1 ]; then
        echo ".zshrc"
      elif [ `echo $SHELL | grep -c "bash"` -eq 1 ]; then
        if [ `uname` = "Linux" ]; then
          echo "~/.bashrc"
        elif [ `uname` = "Darwin" ]; then
          echo "~/.bash_profile"
        fi
      fi
  changed_when: False
  register: shell_configure_file

Pourquoi ne devrions-nous pas permettre le changement?

À mon avis, c'est un changement dont vous n'avez pas à vous soucier s'il s'agit d'un playbook que vous avez écrit. Vous pouvez juger immédiatement en regardant le résultat de l'exécution d'ansible, mais si vous obtenez `change `` `quand quelqu'un d'autre exécute ce playbook," Oh, quelque chose a-t-il changé? " Je penserais.

Je pense qu'il est souhaitable que le changement ne change que lorsque le comportement du système d'exploitation cible change.

finalement

Ansible est facile, mais il existe différentes solutions de contournement, il est donc difficile de revenir et de créer une tâche. .. .. J'ai écrit la tâche ci-dessus comme un shell, donc j'ai l'impression d'avoir beaucoup perdu ...

Recommended Posts

[Ansible] Comment éviter que les modifications ne se produisent
Comment changer la disposition de Jupyter
Comment changer la version de Python
Comment changer le jeu de couleurs vim
Comment empêcher les mises à jour de paquets avec apt
Comment changer la couleur de l'éditeur dans PyCharm
[Python] Comment changer le format de la date (format d'affichage)
Comment utiliser xml.etree.ElementTree
Comment utiliser virtualenv
Grattage 2 Comment gratter
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment installer Python
Comment utiliser Pandas 2
[Ansible] Comment utiliser l'authentification par mot de passe SSH lors de l'exécution d'ansible
Comment lire PyPI
Comment installer pip
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment mettre à jour easy_install
Comment installer Archlinux
Comment utiliser pytest_report_header
Comment redémarrer gunicorn
Comment installer python
Comment héberger virtuel
Comment déboguer le sélénium
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment lire JSON
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment mettre à jour Spyder
Comment utiliser IPython
Comment installer BayesOpt
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser iptables
Comment utiliser numpy
Comment modifier le répertoire statique par défaut dans Flask
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment faire pousser des fichiers dot
Comment utiliser la liste []
[Efficacité du travail] Comment changer les noms de fichiers par lots avec Python
Comment utiliser python-kabusapi
"Comment compter Fukashigi"
Comment installer Nbextensions
Comment utiliser OptParse
Comment utiliser le retour
Comment installer Prover9
Comment utiliser NumPy
Comment utiliser pyenv-virtualenv
Comment utiliser imutils
[Ansible] Comment appeler des variables lors de la création de votre propre module