Ansibleとは
Ansibleとは,Pythonで記述された構成管理ツールです.Chefみたいなやつです.今回はこのツールを使っていて特に困ったことがあったので解決策をメモしておきます.Ansibleのインストールや基本的な使い方は,わかりやすく解説されているサイトがたくさんあるのでそちらを参考にしてください.
問題:shellやcommandを叩くときに':'や'='を使おうとするとエラー
Ansibleでshell, commandを書くときに例えば,
- name: Make test
sudo: yes
shell: VAL=test make
みたいな書き方をしようとすると,エラーが吐かれてしまいます.
これは,本来ansibleの中で=
等が,command: make chdir={{dir}}
のように使われているため,変な解釈が行われてしまうからです.
解決策
あらかじめ,=
,:
等悪さをするものを変数として宣言しておき,呼び出すことでこのエラーを回避できます.
var:
equal: '='
task:
- name: Make test
sudo: yes
shell: VAL{{equal}}test make