1. #!/bin/sh
    2. #kill tomcat pid
    3. #这句尤为重要
    4. export BUILD_ID=apache-tomcat-app_build_id
    5. # 1.关闭Tomcat
    6. pidlist=`ps -ef | grep apache-tomcat-app | grep -v "grep" | awk '{print $2}'`
    7. function stop(){
    8. if [ "$pidlist" == ""]
    9. then
    10. echo "----tomcat 已经关闭----"
    11. else
    12. echo "tomcat进程:$pidlist"
    13. kill -9 $pidlis
    14. echo "KILL $pidlis:"
    15. fi
    16. }
    17. stop
    18. pidlist2=`ps -ef | grep apache-tomcat-app | grep -v "grep" | awk '{print $2}'`
    19. if [ "$pidlist2" == ""]
    20. then
    21. echo "----关闭 Tomcat 成功----"
    22. else
    23. echo "----关闭 Tomcat 失败 ----"
    24. fi
    25. # 2.移除原来Tomcat中webapps中的项目文件夹
    26. rm -rf /home/eli/apache-tomcat-app/webapps/ROOT*
    27. # 3.复制jenkins生成的 war包到Tomcat的webapps中
    28. cp -r /home/eli/.jenkins/workspace/enjoy-eli/target/jenkins-demo-1.0.war /home/eli/apache-tomcat-app/webapps
    29. sleep 3s
    30. # 4.修改war包名称
    31. mv /home/eli/apache-tomcat-app/webapps/jenkins-demo-1.0.war /home/eli/apache-tomcat-app/webapps/ROOT.war
    32. # 5.启动Tomcat
    33. cd /home/eli/apache-tomcat-app/bin
    34. ./startup.sh

    说明:export 配置环境变量
    1.启动 shell 脚本(进程)拉 Tomcat(子进程)
    2.shell 脚本执行完成,Jenkins 执行完成,任务结束
    3.结束 shell 脚本,Tomcat 子进程也会跟着结束
    4.配置 export 环境变量,配置的进程不会结束(apache-tomcat-app_build_id 进程就不随着 shell 脚本的执行完成而结束)