今回はAnsibleを利用して特定の処理だけを実行する方法をご紹介します。
playbookのいらないところをコメントアウトしていろいろためして…
みたいなことが不要になります!
概要
taskの中にtags
でタグをつけておいて、ansible-playbook
コマンドの実行時に--tags
オプションでそのタグを指定してあげます。
すると、タグをつけた処理だけが実行できます!!!
かんたんな例
かんたんな例です。
playbook
playbookが以下だとします。
echoをファイルをリダイレクトするだけのかんたんなplaybookです。
それぞれtagsでwawawaとsasasaのタグをつけてあげています。
--- - hosts: localhost gather_facts: false tasks: - shell: echo "wawawa" > /home/ec2-user/wawawa.txt tags: wawawa - shell: echo "sasasa" > /home/ec2-user/sasasa.txt tags: sasasa ...
実行コマンド
オプションで--tags
を指定してタグがwawawaのものを実行してみます。
$ ansible-playbook -i ansible_hosts ec2_linux_tag_test.yml --tags wawawa
実行結果確認
標準出力は以下のとおり。
$ ansible-playbook -i ansible_hosts ec2_linux_tag_test.yml --tags wawawa Using /etc/ansible/ansible.cfg as config file PLAY [localhost] ************************************************************************************************** TASK [command] **************************************************************************************************** changed: [localhost] => {"changed": true, "cmd": "echo \"wawawa\" > /home/ec2-user/wawawa.txt", "delta": "0:00:00.002605", "end": "2018-02-21 15:24:50.889019", "rc": 0, "start": "2018-02-21 15:24:50.886414", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []} PLAY RECAP ******************************************************************************************************** localhost : ok=1 changed=1 unreachable=0 failed=0
wawawa.txtだけが作成されていることがわかります。
$ cat /home/ec2-user/wawawa.txt wawawa $ cat /home/ec2-user/sasasa.txt cat: /home/ec2-user/sasasa.txt: No such file or directory
おまけ
タグは以下のように実行コマンドで複数指定することも可能です。
--tags wawawa
と--tags sasasa
を指定してあげています。
$ ansible-playbook -i ansible_hosts ec2_linux_tag_test.yml --tags wawawa --tags sasasa
また、playbook内のタグが一意である必要はないです。
今回の例の場合、両方ともtags: wawawa
としてあげることで両方とも処理が実行されます。
たとえばplaybookが以下にような場合、両方の処理が実行されます。
$ cat ec2_linux_tag_test.yml --- - hosts: localhost gather_facts: false tasks: - shell: echo "wawawa" > /home/ec2-user/wawawa.txt tags: wawawa - shell: echo "sasasa" > /home/ec2-user/sasasa.txt tags: wawawa ...
- 出版社/メーカー: インプレス
- 発売日: 2018/03/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る