自动化流水线部署


前言

你是否还在手动部署,每当代码变更后都要重新部署发布,是不是也会觉得很不方便。下面,我们一起看看关于自动化部署发布,来帮助我们提高效率


一、关于腾讯云

COS 对象存储(源站)

COS(Cloud Object Storage,对象存储)是一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据

大白话:对象存储就是私人网盘,上传后会生成一个链接

特点:高扩展性、低成本、可靠安全

建议:共有读私有写(只有自己可上传,人人可访问)

CDN

CDN(Content Distribution Network)是一种用于加速内容分发的网络服务。将内容分发遍布全球的边缘节点服务器上,使用户可以就近访问内容,从而提高访问速度和用户体验。

把资源直接放在源站有两个问题:

  1. 偏远地区用户访问很慢
  2. 当用户量很大的时候,服务器可能顶不住

访问 localhost 为何可以显示页面

webpack 内部启动了一个 nodejs 提供静态资源服务

生成文件

直接打包的 dist 目录 html 是跑不起来的,因为路径是绝对路径,html 访问不到资源。
可以通过 publicpath 改成“./”

自动化部署

手动部署步骤

  1. npm run build
  2. 生成 build 文件夹
  3. 把文件夹上传到服务器(腾讯云 cos 对象存储目录)

自动部署

  1. 触发自动(a.代码提交到仓库触发 b.点击某个按钮触发)
  2. 自动执行手动部署步骤 123
  3. 访问

部署过程

  1. 远程有一块空间 linux(空文件夹),可以理解为 vscode 的控制台
  2. 拉取代码
  3. 安装依赖
  4. 确认 node 版本是否支持
  5. npm run build
  6. 把静态资源上传到 cdn

二、关于阿里云

Serverless发展过程

一、早期:自建机房
计算机———>服务器(64 核 128G)
缺陷:性能浪费严重,早期用户量不大,服务器只使用很少的性能

二、中期:虚拟机
计算机———>服务器 (64 核 128G, 拆分为 2 核 4G)
示例:阿里云 ECS
好处:相比自建机房的利用率更高
缺陷:购买虚拟机,实际上价格不便宜
利于率依然不高,有可能网站建好之后没人使用,用户量少

三、后期:serverless
计算机———>服务器 (64 核 128G, 拆分为 2 核 4G),2 核 4G 拆分为函数计算
核心价值:按量计费
收费模式:
部署内容为一个一个可执行的函数,按照函数的使用量付费
CPU 的占用率+CPU 的使用时长
计费依据

  1. cpu 使用
  2. 网络带宽

nodejs 在阿里云发布

  • 进入阿里云函数计算 FC 控制台
  • 创建 nest 应用
  • 管理 gitee 仓库

可能会遇到的问题

package-lock.json 导致部署失败
如何解决:package-lock.json 文件删除即可

~和^的区别

~会匹配最近的小版本依赖包,比如 ~1.2.3 会匹配所有 1.2.x 版本,但是不包括 1.3.0

^ 会匹配最新的大版本依赖包,比如^1.2.3 会匹配所有的 1.x.x 的包,包括 1.3.0,但是不包括 2.0.0

注意:^版本更新可能比较大,会造成项目代码错误,所以建议使用~来标记版本号,可以保证项目不会出现大问题,也能保证包中的小 BUG 可以得到修复

三、发布流程

前端发布

  1. 本地 code
  2. 推送到仓库
  3. 触发自动化流水线
  4. 自动上传到 cos

tips: 可以使用腾讯云对象存储及代码库 coding

后端发布(NodeJs)

  1. 本地 code
  2. 推送到仓库
  3. 触发自动化流水线
  4. Node 服务部署到线上—>读取(前端发布流程生产的 html)
  5. 提供访问地址(用户最终访问地址)

tips: 可以使用阿里云函数计算 FC 及代码库 gitee

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小童不学前端

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

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

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

打赏作者

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

抵扣说明:

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

余额充值