ansible分发部署tomcat 整个war包的tomcat-deploy.yml,


- hosts: webservers

  vars:
    tomcat: /data/local/tomcat7
    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包到远程服务器"
     copy:
       src=/root/jenkins/workspace/tomcat_test/test.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/test.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 &
  

备注:

ansible的中文权威指南:http://www.ansible.com.cn/index.html

playbook的实践案例https://github.com/ansible/ansible-examples

相关内容

    暂无相关文章