2016-06-28 7 views
-1

私は、最初に自分のパッケージをリモートホストに転送してから、スクリプトを実行することができます。具体的には、ローカルマシンにapacheパッケージがあり、それをリモートノードAにscp/rsyncする必要があるとします。次に、& Bにパッケージをインストールするスクリプトがあります。正しくインストールされているかどうかを確認した後、設定ファイルなど。このスクリプトは、転送が成功した場合にのみ実行する必要があります。リモートコピーとスクリプトの実行のための可能なプレイブック

上記の要件を満たす必要がある以下の演習書を書いてください。それ以上の改善が必要かどうか確認してください。前もって感謝します !

脚本:

--- 
- hosts: droplets 
    remote_user: root 

    tasks: 

    - name: Copy package to target machines 
     synchronize: src=/home/luckee/apache.rpm dest=/var/tmp/ 

    - name: Run installation and verification script 
     script: /home/luckee/apache_install.sh 
     register: result 

    - name: Show result 
     debug: msg="{{ result.stdout }}" 
... 

答えて

0

コピータスクを変更(プロセスでexecudedた)と、正常終了した場合、インストールスクリプトのみ実行されます。この方法:

--- 
- hosts: droplets 
    remote_user: root 

    tasks: 

    - name: Copy package to target machines 
     synchronize: src=/home/luckee/apache.rpm dest=/var/tmp/ 
     register: result_copy 


    - name: Run installation and verification script 
     script: /home/luckee/apache_install.sh 
     register: result_run 
     when: result_copy.changed 

    - name: Show result 
     debug: msg="{{ result_run.stdout }}" 
... 
関連する問題