2016-04-26 16 views
3

特定の条件が有効なときに、再生を複製せずに、モジュール引数のみを含めることはできますか?有効条件付きモジュール引数

例:私は条件が偽の真である場合に応じて、コマンドの引数の値を変更したい

- name: Start Container 
    docker: 
     name: "{{containerName}}" 
     state: reloaded 
     command: "java -jar {{containerImage}}-{{containerJarVersion}}.jar" 

を:

私は次のような遊びがありますか?現在のところ、私は演劇全体を複製し、それを1つの引数だけが異なるので恐ろしい状態で包む必要があります。

現在のソリューション:

- name: Start Container Debug 
    docker: 
     name: "{{containerName}}" 
     state: reloaded 
     command: "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n,address={{debugPort}} -jar {{containerImage}}-{{containerJarVersion}}.jar" 
    when: ({{enableDebug}} == true) 

    - name: Start Container 
    docker: 
     name: "{{containerName}}" 
     state: reloaded 
     command: "java -jar {{containerImage}}-{{containerJarVersion}}.jar" 
    when: ({{enableDebug}} == false) 
+0

..違いは何ですか2つのタスクの間?彼らは私に同じように見える。 – shaps

+0

申し訳ありませんコピー&ペーストエラー、コード例を更新しました! – Ash

答えて

1

私はあなたはまだ条件付きのどこかで使用する必要があると思います(あなたは最終的に条件に基づいて異なることをしたいのです:)。

私は考えることができる唯一のことは、(すべてのそれらの迷惑なskippedを引き起こす)あなたは二回、あなたのタスクを書き込まないようである、あなたは次のことを行うことができます:

私は、これは間違って取得される可能性があります申し訳ありません
 # file: play.yml 

    - include_vars: debug_vars.yml 
     when: enableDebug == True 

    - include_vars: prod_vars.yml 
     when: enableDebug == False 


    - name: Start Container 
     docker: 
      name: "{{containerName}}" 
      state: reloaded 
      command: "{{ start_container_command }}" 



     # file: debug_vars.yml 
     start_container_command: "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n,address={{debugPort}} -jar {{containerImage}}-{{containerJarVersion}}.jar" 

     # file: prod_vars.yml 
     start_container_command: "java -jar {{containerImage}}-{{containerJarVersion}}.jar" 
0

あなたはこのようにそれを使用することができます:

- name: Start Container Debug 
    docker: 
     name: "{{containerName}}" 
     state: reloaded 
     command: "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n,address={{debugPort}} -jar {{containerImage}}-{{containerJarVersion}}.jar" 
    when: enableDebug # Will run when the value of eanbleDebug is True 

    - name: Start Container 
    docker: 
     name: "{{containerName}}" 
     state: reloaded 
     command: "java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n,address={{debugPort}} -jar {{containerImage}}-{{containerJarVersion}}.jar" 
    when: not enableDebug # Will run when the value of eanbleDebug is False 

を私はこのようになりますeanbleDebugを想定しています:これはあなたを助ける

eanbleDebug: True 
or 
eanbleDebug: False 

・ホープ

+0

これは多かれ少なかれ私が持っているものですか?私は演劇を複製する必要がなかったことを意味する解決策があることを望んでいた... – Ash