1. 先说下部署Java项目的一般操作
    • 停掉tomcat服务器
    • 使用新的的ROOT.war,替换旧的ROOT.war
    • 启动tomcat
  2. 接着说下我遇到的问题
    • 环境变量繁多,有开发环境、本地环境、测试环境、生产环境。每次部署需要手动将正在使用的环境变量换为正式环境,太麻烦!
    • 有一个40M+的zip说明文档几乎没变过,然而我的所有代码也才60M+,每次上传说明文档浪费资源
    • 所以我的一般操作就是
    # cd /opt/apache-tomcat/webapps
    # service tomcat stop
    # rm -rf /opt/apache-tomcat/webapps/*
    # cp /opt/tmp/ROOT.war .
    # unzip -oq ROOT.war -d ROOT
    # mv ROOT/WEB-INF/classes/env-pro.proerties ROOT/WEB-INF/classes/env.properties
    # cp /opt/tmp/helpdoc.zip static/help
    # service tomcat start
    
  3. 当我重复操作了一百遍以后,我发现这好像应该是程序干的事情,所以现在我是这么操作的
    # cd /opt/deploy
    # cp /opt/tmp/ROOT.war .
    # ./deploy.sh
    
    现在就爽多了,具体deploy.sh内容如何,可以看deploy.sh
    • 我还做了点小小的优化,把解压文件、复制帮助文档、替换环境变量都提前做好了,这让服务器的停机时间更短