###
deploy.yml
- hosts: 192.168.2.114
remote_user: tomcatadmin
vars:
project_name: cc123
deploy_file: cc123.war
tasks:
##8081
- name: shutdown tomcat-1-8081
script: "/etc/ansible/script/shutdown_tomcat.sh 8081"
- name: deploying tomcat-1-8081
copy: src=/ansible_data/deployment/{{ project_name }}/deploy_ver/{{ deploy_file }} dest=/usr/local/tomcat8-8081/webapps/{{ deploy_file }} owner=tomcatadmin group=tomcatadmin mode=0644
- name: startup tomcat-1-8081
service: name=tomcat_8081 state=started
###
cat shutdown_tomcat.sh
#!/bin/bash
Proc_Num=`ps auxf|grep -v grep|grep java|grep $1|awk '{print $2}'`
if [[ $Proc_Num != "" ]];then
kill -9 $Proc_Num
fi
###
tomcat的远程启动,直接运行startup.sh脚本是启动不了的,需要先配置成service服务,可以通过ansible的service模块来启动,而在关闭的时候只有通过脚本kill进程比较靠谱,否则容易出现端口已停进程还在的情况,导致ps aux看到多个相同的tomcat进程。