2017-02-27 9 views
0

6つのジェンキンサーバーのインストールされているプラ​​グインの一覧を確認するプレイブックがあります。ここで可能なプレイブックの制御ループのループ

はホストファイルである:ここでは

[masters] 
server1 
server2 
server3 
server4 
server5 
server6 

がインストールされているプラ​​グインのリストを取得扱う脚本内のタスクです:

- name: Obtaining a list of Jenkins Plugins 
    jenkins_script: 
    script: 'println(Jenkins.instance.pluginManager.plugins)' 
    url: "{{ item }}" 
    user: 'admin' 
    password: 'password' 
    with_items: 
    - 'url1' 
    - 'url2' 
    - 'url3' 
    - 'url4' 
    - 'url5' 
    - 'url6' 

これは完全に正常動作しますが、の36件のリストを出力しますインストールされたプラグインではなく、ちょうど6です。プレイリストはホストごとにすべてのURLを差し込んでいるようですが、私はかなり新しくなっていますので、誰もこの問題を回避する方法を知っていますか?

答えて

1

server1-server6という6つのJenkinsサーバーがある場合は、ループを作成する必要はありません。ただ、jenkins_scriptタスクを発射し、すべてのサーバー上でこのタスクを実行するためのhostsパターン設定:これは、一度サーバ上でタスクを実行します

--- 
- hosts: server* 
    tasks: 
    - name: Obtaining a list of Jenkins Plugins 
     jenkins_script: 
     script: 'println(Jenkins.instance.pluginManager.plugins)' 
     url: 'http://{{ inventory_hostname }}:8080/' 
     user: 'admin' 
     password: 'password' 

を。

関連する問題