2016-11-24 4 views
1

と連携し、「とき」の条件私は脚本コマンドでバージョンを応じて役割を実行するための条件を持っているが、私は、バージョン= 8ansibleない私の脚本に役割

- hosts: tomcat-servers 
    remote_user: root 
    become: yes 
    become_method: sudo 

    pre_tasks: 
    - debug: var=version 
    roles: 
    - { role: tomcat7, when: version == '7' } 
    - { role: tomcat8, when: version == '8' } 

コマンドを追加するときには、二つの役割を実行:デバッグ出力のための

ansible-playbook -i hosts site.yml --extra-vars "version=8" 

TASK [debug] ******************************************************************* 
ok: [192.168.139.129] => { 
    "version": "8" 
} 

任意のヘルプ?

ansible 2.1.0.0

+1

、私はローカルにしようと、そのすべての権利きました。 'pre_tasks'をデバッグするために追加して、バージョン値を出力できますか? – user2599522

+0

私は初心者です。私にはどうすればいいですか? – Inforedaster

+1

[doc](https://docs.ansible.com/ansible/playbooks_roles.html#roles)のページで 'pre_tasks'を検索してください。例。そして、あなたは ' - debug:var = version'([debug docs](https://docs.ansible.com/ansible/debug_module.html#examples)) – user2599522

答えて

2

(上記ペーストビンからサンプル出力)

ubuntu# ansible-playbook -i hosts site.yml --extra-vars "version=8" 

PLAY [tomcat-servers] ********************************************************** 

TASK [setup] ******************************************************************* 
ok: [192.168.139.129] 

TASK [debug] ******************************************************************* 
ok: [192.168.139.129] => { 
    "version": "8" 
} 

TASK [tomcat7 : Install Java 1.8] ********************************************** 
skipping: [192.168.139.129] 

[..] 
TASK [tomcat8 : Install Java 1.8] ********************************************** 
ok: [192.168.139.129] 

TASK [tomcat8 : add group "tomcat"] ******************************************** 
ok: [192.168.139.129] 

[...] 
PLAY RECAP ********************************************************************* 
192.168.139.129   : ok=14 changed=0 unreachable=0 failed=0 

あなたは二つのタイプがあることが上記のタスクから見ることができます:

  1. スキップは:[192.168。 139.129]
  2. ok [192.168.139.129]

これは、タスクが実行されたかどうかを通知するansibles方法です。

を指定すると、tomcat8ロールのみが実行されますが、tomcat7タスクはskippedと表示されます。奇妙なのthats

あなたは色を有効にした場合、あなたは仕事のために別の色を見ることができます(=黄色に変化、青=スキップ)

enter image description here

+1

を検索して、スキップされたタスクの表示を無効にします。[this](http://serverfault.com/a/ 807152/290351) – user2599522

関連する問題