服务器手动发布流程

视频连接: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修真院哦

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 123,282评论 18 134
  • 使用SpringBoot+SpringCloud写了一套APP后台服务,也引入了当下比较流行的微服务的理念,模块也...
    CptHiro阅读 32,208评论 4 123
  • 我们一直都在说,念念不忘必有回应,其实你有没有静下来好好的想,其实好像不是这样的,当我们深深的思念某个人的时候,日...
    __安而不念阅读 141评论 0 0
  • 通过这几天的观察,我觉得我自己适合古典,复古风的装扮和风格。所以以后选衣服或者别的东西都可以先以复古,古典,优雅...
    曾曾的麻麻阅读 70评论 0 0
  • 1、image filtering:linear——box filter,gaussian filter ...
    sunsimple阅读 210评论 0 1