ansible分发部署tomcat 整个war包的tomcat-deploy.yml,
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
评论暂时关闭