邻邻商城 升级

# 邻邻商城 升级

本脚本都是不停服务升级降级

# 手动升级

脚本已升级,新的脚本简单快捷还不容易出错,请使用一键升级

第一步

将最新的jar包上传到服务器升级目录下,如:/usr/local/upgrade

第二步

创建Shell文件,并给与执行权限。

#!/bin/sh
#=================================================================
# Info   : 系统升级
# 
# Author : 长沙蓝灵鸟科技有限公司 | Yudao | 1010331559@qq.com
# Param  : env 要切换的环境, mall:商城平台
#-----------------------------------------------------------------

#nginx重载
function nginxReload()
{
	cd $nginx_bin
	./nginx -s reload
	echo "切换完成"
}

#环境
env=$1

#配置文件路径
nginx_path=/usr
#nginx配置文件路径 按实际路径填写
nginx_conf=/etc/nginx/conf.d/lln.kim.conf
nginx_bin=${nginx_path}/sbin

if [ -z "$env" ]
then
	echo "env为空"
	exit 0
fi

#商城平台
if [ "$env" = "mall" ]
then
	echo "要切换的环境 商城平台..."

	content=`grep "http://127.0.0.1:8081"  $nginx_conf`
	if [ -z "$content" ]
	then
		content=`grep "http://127.0.0.1:8082"  $nginx_conf`
		if [ -z "$content" ]
		then
			echo "商城平台没有配置nginx http端口"
			exit 0
		else
			sed -i "s/http:\/\/127.0.0.1:8082/http:\/\/127.0.0.1:8081/g" ${nginx_conf}
			echo "商城平台从 mall2(8280) 切换到 mall1(8180)"
			nginxReload
			exit 0
		fi

	else
		sed -i "s/http:\/\/127.0.0.1:8081/http:\/\/127.0.0.1:8082/g" ${nginx_conf}
		echo "商城平台从 mall1(8081) 切换到 mall2(8082)"
		nginxReload
		exit 0
	fi
fi
	
echo "env值为空"

chmod +x upgrade.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

第三步

启动升级包:
1.指定升级包文件路径
2.指定端口 端口在 80818082 之间切换

nohup java -jar lln-smart-mall-01.jar --server.port=8081 >info.log 2>& 1 &
# or 
nohup java -jar lln-smart-mall-02.jar --server.port=8082 >info.log 2>& 1 &
1
2
3

执行 upgrade.sh mall 如下代码

sh upgrade.sh mall
1

sh upgrade.sh mall 可以来回切换端口,所以如果升级包有问题能够马上切回到未升级之前,
最后如果没测试升级后的没有问题了则可以将老的服务停掉

# 一键升级

一键升级脚本源码在 lln-mall/docs 目录下

上面的升级流程虽然简单 但是略显繁琐(需要查看当前端口号、指定端口号启动、启动完成后需要切换端口、测试完成后要查进程停服务)
使用升级版脚本 自动查找端口号、自动启动服务、启动完成后自动切换到新的服务(省心且不容易出错)

  • 注意打包时必须要换版本号
  • 本系统版本号规则:v202112.1.19 = v年月.实际版本号 (可自定义)
  • 换版本号的方式:
      1. mvn clean package -Dsystem.version=v202112.1.19
      1. mvn clean package
    • 方式2:需要修改lln-mall/pom.xml文件中的变量 <system.version>v202112.1.19</system.version>

# 启动服务

# 启动对应版本号的服务 此命令也可用来切换服务
./upgrade.sh start v202112.1.19
1
2

# 升级完成

升级测试完成后执行此命令,才会将老的服务停掉,
如果有问题使用:./upgrade.sh switch 切换原来的服务,或者指定老的版本号 ./upgrade.sh start v202112.1.18

./upgrade.sh finish
1

# 查看当前启用的系统版本号信息

./upgrade.sh version
# or 
./upgrade.sh info
1
2
3

# 切换服务

#切换服务版本,可以多次切换 
./upgrade.sh switch
1
2

# 停用服务

# 注意:此命令不会进行确认直接停掉
./upgrade.sh stop
1
2

# 查看启动服务记录日志

tail upgrade.log

更新时间: 12/17/2021, 3:29:45 PM