2016-06-28 2 views
-1

먼저 원격지에 내 패키지를 전송하는 플레이 북을 호스트으로 작성한 다음 스크립트를 실행하십시오. 자세히 말하자면 로컬 시스템에 apache 패키지가 있고 원격 노드 A에 &을 scp/rsync해야한다고 가정합니다. A & 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 }}" 
...