栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

公司新项目上线踩坑总结

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

公司新项目上线踩坑总结

上上周接手了一公司给的一个新项目的任务,使用react开发,框架和配置基于umirc.js,这里总结一下这段时间遇到的各种配置问题,以及新项目上线过程中的各种问题。

环境配置

首先它存在有几个环境配置文件,类似于vue脚手架里边的.env.development这类的文件,而基于umirc的框架,它里边的名称叫做.umirc.dev.ts或.umirc.dev.js。
当我们npm run某一个命令,代码环境就会指向某个相应的环境配置文件,然后配置文件中的代码就会被执行,其实这部分很容易理解,大多数人也应该都知道。
那么这些配置文件中,一般可以写一些如publicPath、proxy代理、favicon图标指向地址等代码。

全局配置

除了上边的几个环境配置文件,有一个.umirc.ts是一个全局的配置文件,也就是说不管走哪个运行打包命令都会走一个文件。
那么在这个文件里,我们一般会做一些打包的配置,个人理解有点像webpack.config.js、vue.config.js等,那么在这里边我们可以去控制不同环境下proxy的代理走向、资源打包使用的第三方服务器走向、打包文件是否加上hash、配置全局环境变量名称、控制路由、添加打包loader、plugins、添加代码兼容polyfill、图片压缩等。

上线踩坑

因为到新公司,第一次接触新项目的上线,可以说是各种不懂,步步踩坑。主要坑点在于运维方面的各种配置,虽然不需要前端来做,但是一步一卡就很难受。
说简单其实也简单,因为是新项目,所以对于运维来说,只需要先在服务器下配置一个新的容器,之后把我们的代码放进去,接着运行我们的打包运行命令就可以(具体操作运维负责)。其实走完这一步如果没有问题,就可以算是上线成功了一大半了,但就是在这一步完成之后,我们就开始踩坑了。

cdn指向
首先是运维发现我们的cdn指向出现了问题,因为我们的项目是要部署到海外的,cdn应该指向海外的服务器地址,但是却发现运行之后cdn指向还是国内的。
于是我扒了一下代码,发现package.json里边还有一个build:hwonline,里边BUILD_ENV=hw,我就知道运维那边需要运行这个才可以让cdn根据环境判断逻辑指向海外地址。

资源服务器配置
cdn搞好了,我这边的项目相当于上线成功了,于是我打开我的线上项目地址开始测一下效果,却发现资源请求全部403,这个让我特别的郁闷,运维那边也有些郁闷,就开始排查问题。
这里说明一下,因为项目打包之后,各种资源要上传到相应的资源服务器,也就是oss,dev环境下我们使用了阿里云oss,其他环境下我们使用了s3服务器,也就是亚马逊的aws(Amazon Web Services),出现403也就是说明我们没有权限访问我们部署上去的资源。
在运维大哥那边一顿操作之后,甚至联系了人家海外服务器的客服,得出了结论,我们使用的资源桶、密钥以及密钥ID不是对应一套的,也就是我们把资源上传到了错误的容器,而与之对应的我们在去使用的时候拿的密钥是跟那边对不上的,所以给我们了403。
那没有办法,只能更改配置了,在一番波折之后,我们找到了这个项目应该使用的资源桶、密钥和密钥ID,再次运行,查看线上地址,终于可以看到页面了。

icon图标(上传资源拦截配置)
本以为万事大吉了,可结果却发现还有毛病,页面和接口都没有问题,但是页面icon图标却没有了,一脸懵逼。
这个时候已经在我旁边指导了好久的leader告诉我,说这个上传资源的拦截配置需要改一下,然后我看了一眼,其实这里就是一个正则的问题,和webpack里边的loader的正则一个意思,添加上ico的拦截就可以了。
重新上传了一下,终于好了。

以上,就是这次新项目上线的一些踩坑总结。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511682.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号