昨晚,部署线上环境的我炸了

改了一天的bug,终于是觅得一时空闲。思来想去,我还是想把自己刚刚平复不久的“爆炸”心态记录下来。事情还要从昨天下午四点半左右说起,只因为后端的同事C在工作群里@了我一下,对我说了三个字:“上线吧…”
在这里插入图片描述
说实话,想想还是有点小激动的。自从我独立负责这个项目以来,每天都在公司的考勤表下留下了加班打车的印记。原计划是我和同事L一起完成前端开发,由于临时变动,同事L被抽走了,我心里那个苦啊,少了一个人项目排期还是不变,可想当时我的内心如同万马奔腾一般。终于,忙乎了近一个月,搞定了,准备上线。

结束脑中的遐想,内心似乎有一种仪式感,夹杂着淡淡的骄傲,毕竟自己的又一个“儿子”就要面世了,于是乎,手上握紧了20块钱的鼠标,恣意享受着抖动右腿带来的快感,我就ctrl+v了开发环境的Nginx配置文件,按照线上环境修改作毕,瞥了眼时间不到一分钟,舒服。
在这里插入图片描述
由于没有线上机器的权限,非常热心的后端同事C按照以往的风格,帮我把git认证的ssh key加到了线上机器上,不得不说,从同事C那里学到了很多知识,主要是Linux和PHP方面。虽说我们角色分工不同,但是每次有什么不懂的地方,他都会耐心的给我讲解一下,在我职业生涯中总是碰到这种可爱的小伙伴。突然想起来了在上一家公司的同事YL,感动。

then,打开jenkins配置页面,ctrl+v还是一贯的流畅、顺手,一份完整的shell脚本被我从旧的项目挖过来。修改Nginx目录,替换线上机器地址,增加代码目录软连接,最后我还自作主张,搞了个线上代码版本备份,一切看起来都是那么完美,无懈可击,美滋滋。

接下来,紧张而又激动的时刻到来了,满怀期待的我输入了构建指令…

一分钟…

两分钟…

我擦怎么这么久,仔细一想也对,第一次需要安装全部依赖,打包自然慢了点。

加速抖腿,三分钟即将到来的时候,日志打印出,“构建成功”!爽!

火速打开浏览器,输入线上地址,上来送了个502!纳尼?
在这里插入图片描述

陷入沉思…

无果,只能重新检查写的shell脚本,哪里姿势不对吗?代码pull下来了,上传到线上机器了,构建成功了,似乎么得一丝丝问题。难道代码没有上传到服务器吗?懵逼了!
在这里插入图片描述
为了排除一下我的猜想,我还是申请了线上机器的访问权限。然后ssh到服务器,在我做梦都能记着的目录里面,我看到了前端的打包代码,似乎是没有异样。就在此时,灵光乍现,我突然想到,Nginx 配置的软连接尚未添加,一丝喜意涌上心头,心里默念着 ln -s xx源文件xx xx目标xx文件,回车,成功。再试,依旧不行!难受哇!
在这里插入图片描述
看了一下表,五点多了,还有两个半小时就可以下班回家了,要加快速度了呢,咋解决呢?稳妥起见,我问了下对面的同事C,让他帮我梳理了一下我的shell脚本,一起检查了下线上的目录,软连接,一切都像我想的那样没有问题,同事L来兴致了,查看了Nginx的报错日志。然后,尴尬。
在这里插入图片描述
我瞅到了Nginx的报错日志显示的是webpack打包错误的提示,卧槽,语法错误,掉头回去看了下jenkins构建日志,是输出的“构建成功”啊。再往上面几行一瞅,还真是呢,同样的报错,极其不明显。这个报错,一看就是代码压缩出了问题,压缩后的代码似乎并不支持ES6的语法。难怪呢,开发环境没有问题,到了线上就崩,因为开发环境并不压缩代码呀,刚才咋没想到呢,真是个弟弟,懊恼啊。
在这里插入图片描述
看了下前端的webpack打包配置,不知道啥时候,我竟然用的还是使用的uglify-js自定义压缩,webpack4以后,已经默认支持生产环境的打包压缩,而且默认压缩工具也换成了terser-webpack-plugin,于是乎,卸掉uglify-js,删掉自定义压缩,换成terser的自定义,完美,我觉得,么得问题了,再有问题我要撞墙了,push代码,重新构建,再试,502没了,
又来了个新的bug兄弟,“app is read-only”?WTF!想死了…

在这里插入图片描述
生产环境是真真正正的压缩了,代码包明摆着放在那瘦了一圈了,我也确认了,本次打包绝无问题,要有问题我…,想想还是算了,估计是有问题。苦苦思考了一波,重新理了理思路,开发环境么得问题,线上有问题,压缩排除了,那就是其他的线上配置出了问题,为此,我删掉了所有在线上环境生效的webpack配置,还去掉了压缩,再试,哇,我真的爆炸了,还是TM的不行,逗我?

真的不知道咋办了,Google了一下,发现同类问题并没有。毫无头绪,心情烦躁,只能求助一下了,在工作群里喊了一下,问问大佬们有没有遇到过此类问题,毕竟大佬们踩过的坑比我撸过的码都多。然而,过了五分钟,群里寂静如水,似乎是没人遇到过。这时,旁边的哥们儿拿起了书包,这哥们也在群里,向我投来了无可奈何的目光,背着书包溜之大吉,ma de,竟然下班了。无助!
在这里插入图片描述
过了一会儿,群里的一位大佬突然回复,问了下线上地址,估计是瞅了一眼,再也没有回音,怕是么救了,大佬估计也不清楚这个奇怪的东西是什么。开始放弃,心态彻底爆炸,玩手机。歇会儿!

继续玩手机…

过了一会儿,大佬群里发了个issue,看看是不是有 import 和 module.exports 同一文件混用的情况?我十分确认,肯定没有,这个错误估计不会有,有的话babel也不会放过我吧。我善意的回了一句“好的”,不好意思打扰大佬了。我心态已经崩了。。。
在这里插入图片描述
过了一个小时…

我不小心动了下鼠标,光标在一行代码处闪烁。我呆滞的目光中闪现出了一丝异样,我TM知道为啥了,但我就是不说,我只知道我真是个弟弟啊,只有弟弟才会犯这么低级的错误,想奖励我一记无影脚。改掉那行代码,重新来过,有如日出而云霏开,爽朗至极,美的一批,成功!

额,等会儿,前端是成功了,后端似乎不通…

在这里插入图片描述
不管了,明天再看。

后记

第二天早上,为了找后端接口为啥不通的问题,我和同事C逐行代码调试,打断点,妈耶,我的心态依旧平和,同事C怕是吃了屎一样,我说,“别急,我体会你的感觉”。

终于,两个小时过后,排除万难,我们发现后端生产环境配置写错了一个单词,苍天饶过谁?苍天饶过谁?苍天饶过谁?

经此一役,我回到工位,带上耳机,放起来那首歌,脑海里回响着, “沧海笑,滔滔两岸潮,浮沉随浪记今朝;苍天笑…”
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逸尘️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值