05 升级应用平台
<h1>前言</h1>
<p>当前的部署教程基于OPS 5.1版本制作,如遇到应用版本较高的情况,则需先升级平台,再导入应用</p>
<h2>下载最新应用包</h2>
<ul>
<li>下载地址
<a href="https://cloud.morewis.com/web/downloadRes?category=259">https://cloud.morewis.com/web/downloadRes?category=259</a></li>
<li>下载5.3.2增量包
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=f53e7afa504a474efc271c31cc144924&amp;file=file.png" alt="" /></li>
</ul>
<h2>执行前的准备工作</h2>
<h4>注意:操作升级前请务必阅读平台给出的各项文档,这里以升级5.3.2版本为例</h4>
<ul>
<li>上传升级包WisIDE.Web_v5.3.2_increment.zip至服务器root路径下</li>
<li>解压
<pre><code>[root@iZbp191ndpjbd80mf258o0Z ~]# unzip WisIDE.Web_v5.3.2_increment.zip</code></pre></li>
</ul>
<h3>参数配置</h3>
<ol>
<li>
<p>编辑 bootstrap.properties ,配置升级程序与Consul的连接参数。</p>
<pre><code># 进入升级程序的bin目录,以下仅为示例
[root@iZbp191ndpjbd80mf258o0Z ~]# cd /root/moredev-update/mc-update-project/config/
# vi编辑
[root@iZbp191ndpjbd80mf258o0Z config]# vi bootstrap.properties</code></pre>
</li>
<li>修改对应配置项,修改后请注意保存
您只需要关注以下3个参数的配置,根据您的实际情况配置。
<pre><code>spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500
spring.cloud.consul.config.acl-token=4430ed6e-********-5e349e72dfa</code></pre>
<h4>spring.cloud.consul.host</h4>
<p>这个默认设置为 localhost 。</p>
<ul>
<li>如果您部署的是Consul集群,那么这个一般就是配置 localhost 或者 127.0.0.1 ,不需要去修
改。因为升级程序连接Consul,需要连接本地的Consul Client。否则升级程序运行起来的时候,可
能出现找不到任何微服务,会提示"没有可升级的平台服务"或者"没有可升级的应用服务"。</li>
</ul></li>
</ol>
<ul>
<li>如果您只部署了一个Consul, 那么这个host就填写您部署的Consul的IP地址,如果您Consul与升
级程序所在机器为同一台服务器,那么您也可以将host配置为 localhost 或者 127.0.0.1</li>
</ul>
<h4>spring.cloud.consul.port</h4>
<ul>
<li>
<p>如果您部署的是Consul集群。那么这里端口需要填写为本地的Consul Client的http端口, 因为升
级程序连接Consul,需要连接本地的Consul Client。否则升级程序运行起来的时候,可能出现找不
到任何微服务,会提示"没有可升级的平台服务"或者"没有可升级的应用服务"。</p>
</li>
<li>如果您只部署了一个Consul, 那么这个端口就填写您部署的Consul的http端口。</li>
</ul>
<h4>注意:</h4>
<p>如果根据以上配置说明,您还是不知道如何配置这3个参数,您可以参考您要升级的目标微服务部
署目录下/config/bootstrap.properties文件中的同样的此3项配置值,一般与其保持一致即可。
例:/appdata/mc-sys/mc-admin/config/bootstrap.properties</p>
<h2>执行升级</h2>
<p>下面以linux为例说明如何运行升级程序。</p>
<h3>升级步骤</h3>
<ol>
<li>
<p>运行升级命令</p>
<pre><code># 进入升级程序的bin目录,以下仅为示例
[root@iZbp191ndpjbd80mf258o0Z ~]# cd /root/moredev-update/mc-update-project/bin/
# 执行upgrade
[root@iZbp191ndpjbd80mf258o0Z bin]# ./upgrade.sh</code></pre>
<p>如提示无权限,请先进行授权:</p>
<pre><code>[root@iZbp191ndpjbd80mf258o0Z bin]# chmod +x upgrade.sh &amp;&amp; ./upgrade.sh</code></pre>
<p>windows使用upgrade.bat来执行升级程序。</p>
</li>
<li>
<p>选择语言
运行之后会出现升级界面,选择语言,输入相应编号,并回车,如图所示:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=6e8620125a65bea98bc06c8c5c34252b&amp;file=file.png" alt="" /></p>
</li>
<li>
<p>了解升级须知
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b640f13988aef187fadfa3143adf70ff&amp;file=file.png" alt="" />
选择语言之后会出现升级须知,第一次操作的人员,请认真研读升级须知,避免出现误操作。如果您已
经很熟悉升级程序使用,可直接回车跳过升级程序,如上图所示。</p>
</li>
<li>
<p>选择服务类型
此步骤要选择服务类型, 2个选择类型, 如下图所示:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=a2e9a7ed62a4e79c7856595d34a2d901&amp;file=file.png" alt="" /></p>
<ul>
<li>平台服务:包含 mc-admin , mc-gateway , mc-webpack 等</li>
<li>应用服务:包含业务开发的应用服务,以 mes 系统为例, mes 系统包含3个子服务: mc-buss 、 mc
osb 、 mc-scheduler 。
如果您选择输入 1 , 那么升级程序会自动检索此服务器上部署的平台微服务,非本服务器上部署的平台
微服务将不会检索出来。
如果您选择输入 2 , 那么升级程序会自动检索您导入或者创建的业务应用,您可以选择您想要升级的业
务应用,示例如下图所示:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=f1b0b03124799d67ac70a9f716c33efc&amp;file=file.png" alt="" /></li>
</ul>
</li>
<li>
<p>显示服务信息
选择完服务类型之后,会显示所选服务的一些信息,到这里,您需要核对确认清楚本次升级的微服务列
表,核对确认清楚后之后按回车,就会执行升级。
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=cda3366c5b59a2350be244aec5bc5830&amp;file=file.png" alt="" /></p>
</li>
<li>升级结果进度
升级会显示进度条,并且会显示结果,相应的升级结果和日志路径会显示,如图所示:
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=742b3b4cc796204757b2f2a60bd18ebe&amp;file=file.png" alt="" /></li>
</ol>
<h2>升级日志</h2>
<p>日志包含两部分:</p>
<ul>
<li>升级程序自身运行日志
日志目录: %升级程序解压目录%/moredev-update/mc-update-project/logs</li>
<li>每个服务升级明细日志
日志目录: %目标微服务的安装目录%/upgrade/logs</li>
</ul>
<h2>执行回滚</h2>
<h3>回滚方式</h3>
<pre><code># 进入升级程序的bin目录,以下仅为示例
cd /root/moredev-update/mc-update-project/bin/
# 执行rollback.sh
./rollback.sh</code></pre>
<h3>回滚的注意事项</h3>
<ul>
<li>目前回滚功能只能回滚微服务程序中的文件, 无法回滚已执行的数据库脚本。</li>
<li>升级程序执行过程中会自动备份涉及的表,备份的表名规则: 原表名_bak_版本号 , 例如:422版
本升级 sy_user 表, 那么此表的备份表为: sy_user_bak_422 , 如果升级出错后,执行完上述
的回滚脚本后,您可以手动恢复数据表,但是需要注意的是,系统生成的备份表中相关主键、外
键、唯一键索引等会丢失,请注意一定要记得加回去,否则可能会严重影响查询性能</li>
</ul>