网络服务器搭建不出来了,你快点处理一下,要正式上线

lxf2023-04-01 08:50:01

文中为希土AdminJS技术社区先发签订文章内容,14日内禁止转载,14天之后未获授权禁止转载,侵权必究!

序言

这也是本系列的第五篇文章内容,在此前栏目中,大家一路升级更新的全是跟技术性相关的信息,因此此章大家轻松一点,就跟大家聊一聊前面运维管理的一些有意思的事,都是前面迈向全栈开发的过程当中可能遇到的一些问题。

环境

前面运维管理跟传统式运维管理不太一样之处在于,前端的更新换代太快,除开 SSRCSRSSG 中还有各种各样不断推出的前端ui框架以及这些他们本身破坏性的版本迭代。

与后面需要长时间长期保持的软件环境(比如有一些 Java 服务项目其实还是 JDK8)不一样的是,前端的搭建脚本制作必须对于每个需求以及架构做不同类型的变更,例如前面功能测试的需要需要用到没头电脑浏览器来截屏,这时那就需要在相对应的 Docker 镜像系统中组装 Chrome 及其中文字体库,这也是传统式后面运维管理没接触过的东西了。

必要时运维管理来辅助处理得话,除了他自己也会不断学习以外,也要前面同学们预研得出明确的技术方案和需求才能实现总体目标。并且在大前端这个概念的兴起以后,APP 端及各种跨端架构发生,以及各个大型厂发布小程序或三方服务项目连接又是一个非常新颖的具体内容。

针对运维管理同学来说,构建这种 Devops 管理体系要学习的知识特别多,升级更新的工作频率也特别快,而且大部分内容都是碎片化,坦白说尽管做程序猿就是为了持续学习新技术,但全过程真的蛮悲伤的。

前面运维管理就是我随意提的,一般都是前端架构组或是基本组做这种事情,仅仅我管云服务器工作中还挺多的,顺带就叫做这一调侃一下,不必在意也并不是是新的定义。

情景重现

其实做运维管理的,尤其是做前端的运维管理维护保养较大的苦楚便是:每一次学生在网络服务器搭建失败时都会找你,把日志都给你随后振振有词地说,这样的项目从我本地环境运作没什么问题,搭建也没问题,为啥网络服务器搭建不出来了,你快点快点处理一下,要正式上线

网络服务器搭建不出来了,你快点处理一下,要正式上线

进行了这么长时间的运维管理,前端项目在网络服务器搭建中存在的问题,我稍稍汇总很有可能有以下这种:

  1. 新项目依靠或是鬼魂依靠有更新,当地开发设计*.lock 文档存有,从而导致即便删掉了 node_modules,重装或是以前老旧版本号,但在网络服务器搭建的情况下一般不会提交或是载入 *.lock 造成组装的依赖性版本不一致,发生引入方式出现异常造成搭建不成功的状况;
  2. 与第一个问题相近,当地全局性装上一个依靠,但没放到 package.json 中,以至于在网络服务器搭建出现异常;
  3. 当地的 Node 版本号与服务器不一致,例如一些 API 只能在 18 版本号可以用,但网络服务器一般只选择平稳版本号 14 或是 16,从而导致搭建不成功,这时候能选一个新的镜像系统版本号搭建或是适配低级 Node 版本号;
  4. 一些新项目会依靠一些特殊的服务例如 Python 等,这种三方软件在本地组装过去了,可是网络服务器并没有,因此搭建还会出现异常,必须在建立脚本制作中确定是否组装该类三方软件。

期待要是遇到类似情况的前面同学们,可以直接依照上边的自行处理一下,缓解点运维管理的压力,前面发版本号速率又多又经常,并且一般公司的运维管理网络资源也不会十分充足,因此毫无疑问存有照料不过来的情况下,自己可以拯救自身是最佳的都是最简单的。如果有漏的或者其它奇怪问题能够下方留言探讨。

很有可能也有些别的稀奇古怪难题,但是大多数网络服务器构建项目不成功的确与服务器自身关联并不大,因此一般来说,一定要注意防止出现上述难题,不能在 CI 过程中遇到出现异常。

因为我也归属于前面出生,因此发生各种问题我可以帮看见彻底解决,可是传统运维管理他不会懂前端工程师的那些问题了,这便很有可能导致了前面与运维管理以前的一些误解和小分歧。

运维管理更加关注搭建流程的什么提示

发生搭建出现异常肯定跟网络服务器没事儿是不可能的,但大多数的病变都会发生在 CD 的过程当中,因此运维管理更关注也就能解决的是是非非项目本身代码编译问题反而是编译过程里的自然环境、网络服务器等诸多问题:

  1. 管理权限有关:或许有些工程项目的搭建脚本制作需要额外组装一些必须用户权限的一种手段,这时候联络运维管理帮助给与更高一些管理权限或是搭建内嵌后基础镜像;
  2. 安全性有关:采用了外界有系统漏洞的镜像系统,但自己难以解决得话,或是一些插口(内部结构 RPC、外界服务项目回调接口等)必须打开 IP 授权管理,这种可以咨询运维管理帮助解决;
  3. 网络服务器有关:若是有新项目例如 RNAPP 搭建必须高性能网络服务器或是 iOS 必须 Mac 来建立得话,赶快找运维管理处理,硬件配置才是第一生产力
  4. 数据库系统有关:对于有些服务项目必须数据库服务项目,数据库操作权限、内外网管理权限、数据库数据同歩、备份数据等诸多问题;
  5. 集群部署有关:例如镜像系统同步失败、pod 系统资源不足等;

网络服务器搭建不出来了,你快点处理一下,要正式上线

All in Docker 的计划中,大家可以利用 Docker 来确保网络服务器其实就是工作环境的统一性,确保在部署在每个工作环境(devtestpreprod)里的依靠及相关的系统变量、三方软件等外在因素一致。

可是在研发环境里大家存在的困难会多一些,例如每一位同学的系统环境就有可能不一致,有 WindowsMac 及其许多奇人采用的是 Linux 系统软件,更不要说也有 Node 版本号、三方依靠服务不到位一致以及各个开发工具存在的各种各样缓存文件难题等,所以有时候遗留下新项目或是跨精英团队多人协作中处理自然环境依靠也是一个非常严重的问题。

那样是否有好一点的计划方案将开发工具的依赖性处理?

这绝对还是有的,这也是下一篇 Docker 系列 【 Docker Remote Development】文章内容,你们可以了解下。

网络服务器搭建不出来了,你快点处理一下,要正式上线

汇总

从我的亲身经历来说,如果企业并没合乎 Node 的项目,可是前面又想要迈向全栈开发路线,比较好的突破口便是 Devops

前文也提到了,前端的架构类型特别多,必须对于多种不同的架构搭建做适配,即便可以统一技术栈,还会继续存有跨端、微信小程序这类必须三方连接归属于web前端行业但又偏开发设计感受后端控制模块。

因此如果大家对 Node 有兴趣又要走全栈开发路经,何不尝试一下搭建一个小型 Devops 管理体系先,终究最了解要求、有能力开发和需要的人是同一个人(商品 产品研发 客户),又怎么可能做不好?

结语

最终祝福各位在全栈开发的途中越来越远、一路向上,不断比较少的学习才是程序员的立生之本都是兴趣爱好所属。

后面你们可以密切关注【前面全栈开发之途】栏目,会不断更新前面角度可以接触过的全链路营销非前面知识架构。只不过在全栈开发体系里,一定会有一些技术深度不足的状况,若是有碰到解读不足清晰或个人了解有偏差状况,大伙儿欢迎在评论区留言纠正,立即改动防止欺诈有需求的阅读者。

感兴趣的小伙伴可以加我微信号:cookieboty,一起学习前端工程化内容,共同进步,共同奋斗。