美文网首页IT修真院_JAVA
服务器手动发布流程

服务器手动发布流程

作者: 你是我的小星星 | 来源:发表于2017-06-05 10:49 被阅读0次

    视频连接:https://v.qq.com/x/page/o0514nmsknk.html?ptag=qqbrowser

    君不见,发布代码两眼泪汪汪,

    tar包是谁,war包又是谁,他们为何会在这里,他们又将变成什么,修真院将带您解密:服务器手动发布代码

    一、背景介绍

    代码发布是开发人员必备的技能,从svn到开发环境,从开发环境到测试环境,再从测试环境到线上环境,在没有脚本的情况只能手动发。

    所以,优先写脚本,其次是手动发

    写脚本的前提是熟悉手动发的步骤,然后写成脚本,发布时执行脚本

    现在我们来看看怎么才能手动发布→_→

    二、知识剖析

    2.1、数据库变动:

    有sql变动的话,整理好sql语句成*.sql文件的格式,到相应的环境的数据库中执行,执行之前,用mysqldump命令备份相应的数据库,进入到数据库中用source命令执行。

    2.2 打包方式:

         1、web/home:打成war包

            如:skill-admin-home.war

         2、service:打成tar包,

            如skill-service.tar.gz

          3、core :打成jar包,如skill-core.jar

    2.3 打包:

    本地:

    1、用maven clean install,web需要在pom里面配置

    服务器:

    1、web:在web下执行mvn clean install,打包

    生成的包在graship-home-web/target下

    2、service:

    /data/sources/graship/trunk/graship-home-service下执行

    mvn clean install -Dmaven.test.skip=true assembly:assembly

    生成tar.gz包在graship-home-service/target下

    3、core

    问题1:

    怎么看web或者service里面引用的是哪个core包呢???

    2.4、传包

    scp命令

    scp -P 端口号  *.war root@IP:目录

    2.5、删除旧文件夹

    删除原有的run下除了temp外的文件夹,

    问题2:为什么不删除temp文件夹,删除了会怎样?

    2.6、解压

    1、war:jar -xvf 包名

    2、tar: tar -zxvf 包名

    2.7、重启

    web容器(jetty/resin)以及service(deploy文件夹下的stop.sh/start.sh)

    2.8、改动文件

    对于group.xml文件里面配置的数据库配置,有些需要修改为相应的环境的数据库

    路径:/data/sources/graship/trunk/graship-home-service/target/classes

    三、更多讨论

    问题1:为什么service/web会有两种目录结构?

    答:一个是包解压后的文件夹,一个是原始代码,当然不一样啦,

    问题2:解压压缩包需要在哪里执行?

    答:都在相应的web和service文件夹下执行解包和解压缩即可。

    附:PPT链接:http://pan.baidu.com/s/1kVLteez

    更多有味道的知识,就在IT修真院哦

    相关文章

      网友评论

        本文标题:服务器手动发布流程

        本文链接:https://www.haomeiwen.com/subject/rclifxtx.html