日记:一次普通的项目发版经历
2020.9.3
前言
今天晚上,我们小组之前做的一个项目要发版上线了。
这个项目是一个有关学习任务的项目,管理员可以增删改查学习任务、添加学员等;
整个项目分为三个部分,学习任务后台管理、学习任务前台APP展示、推送未完成学习任务提醒;
对应的服务器也分为两个部分,一个后台服务器组,一个前台服务器组。
目标是在后台服务器上部署学习任务后台管理与批量推送功能,在前台服务器部署学习任务APP展示页面。
之前,我们已经在测试服务器上测试了相关功能,今天准备将代码发版到准生产、生产的服务器。
开始发版
17:00,开始发版后台服务器。
由于后台服务器是内部管理员用的,因此可以较早发版,不会给用户工作造成太大影响。
后台服务器有好几台,某些服务器部署一个功能,另一些服务器部署一个功能。
代码部署后,遇到了2个问题:
1.生产数据库的某个字段是11位,而测试数据库的某个字段是9位,导致上生产后代码insert数据、将11位的数据存入9位的数据库表时,报错,插入数据失败。
解决方法:修改代码与数据库表,以生产为准。
2.代码部署到准生产后,某些网页打不开,404
解决方法:发现代码访问准生产url时没有权限,导致出现404;后续将代码直接部署到生产并进行测试,就能正常访问了。(看来是准生产的IP权限配置有问题)
20:00,开始发版前台服务器。
由于前台服务器上是APP用的静态页面,使用人数多,因此只能在20:00后发版。
发版步骤
由于最近在护网,因此jenkins无法使用,只能通过手动一个服务器一个服务器部署项目。
部署后台服务器的步骤如下:
登录服务器管理系统,连接到目标服务器,打开shell命令窗口与FileZilla,将jar包上传到服务器,使用shell命令关闭之前运行的jar进程,然后启动新的jar进程。(SpringBoot项目是jar,Spring项目是war并且启动的是jboss)
部署前台服务器的步骤如下:
打开MobaXterm软件,连接到目标服务器,将html等前端网页放到服务器指定目录下;之后可以多打开几个服务器shell命令窗口,然后点击“MultiExec”按钮统一操作,使用cp命令统一将index.html替换为最新的即可。
后记
2020.9.4
整个发版过程从17:00开始,持续到21:30.
虽然本人的代码也上线了,但是并没有测试本人代码的功能,并且本人也没有发版的权限,因此只能学习如何发版……
就这样咸到了20:30,领导说“没有事的可以先撤了”,本人就与一部分同事撤了……
剩余同事到21:30才发版完 。
PS:据说前端项目发版出问题了,似乎是某些页面放错文件夹了……看来生产发版后也得好好测试才行,现在只能等今天晚上才能重新发版了。