ansible結合playbook批量部署war包項目上線


批量部署jenkins.war包實現上線

用於測試war包上線

[root~localhost]~#vim /etc/ansible/test.yml

- hosts: test

  vars:     tomcat: /usr/local/tomcat8   

remote_user: root  

tasks:    - name: "創建備份目錄backup"     

file: dest={{ tomcat }}/backup owner=root group=root state=directory mode=0755     

ignore_errors: True   

- name: "創建新war包所在的目錄newwar"     

file:          

dest={{ tomcat }}/newwar owner=root group=root state=directory mode=0755     

ignore_errors: True   

#- name: "備份舊的 war"     

#shell: cp -r {{ tomcat }}/webapps/test.war  {{ tomcat }}/backup/test-`date '+%F'`.war   

- name: "拷貝新的war包到遠程服務器,把war包位置放在創建的新目錄下"     

copy:       

src=/tmp/jenkins.war       

dest={{ tomcat }}/newwar   

- name: "停止tomcat服務"     

shell: ps -ef | grep tomcat | grep {{ tomcat }} | grep -v grep | awk '{print $2}' | xargs kill -9     

tags: stop     

ignore_errors: True   

#- name: "刪除webapps下舊war包"     

#file: dest={{ tomcat }}/webapps/test.war state=absent   

- name: "拷貝新的war包到webapps"     

shell: mv {{ tomcat }}/newwar/jenkins.war {{ tomcat }}/webapps

#  - name: "刪除臨時文件"     

#shell: rm -rf {{ tomcat }}/temp/*  

#- name: "刪除項目緩存"     

#shell: rm -rf {{ tomcat }}/work/Catalina/localhost/test

   - name: "啟動tomcat服務"     

shell: nohup {{ tomcat }}/bin/startup.sh &

[root~localhost]#~ ansible-playbook /etc/ansible/test.yml

每台機器才執行一下啟動,腳本啟動shell模塊不支持

[root~localhost]#~/usr/local/tomcat8/bin/startup.sh

訪問http://192.168.30.21:8080/jenkins

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM