接触过很多部署网站的工具,总体来说分为静态网站托管和 serverless
。
基本流程
部署工具基本包含以下三大块:触发器、CI、CD
触发器
触发器指的是触发部署动作,分为两大类:
- cli: 腾讯云
TCD
,vercel-cli
这类工具实现本地命令行登陆账号,通过本地命令行出发构建部署。 - webhook: 通过
GitHub
,gitlab
这类平台的webhook
监听到指定的分支代码推送,触发相应的构建和部署。
CI
持续集成过程,在 ci
过程中,可以实现命令行可以操作的一切东西,通常用来做代码测试,代码检查,产物包大小对比,(npm
包、docker
镜像、静态资源)的构建与推送等。
CD
产物部署阶段需要进入生产环境中,分为以下三类:
- 静态资源:静态资源,无法部署
node
服务,通常用户静态资源的CDN加速场景,适用于博客类,无法部署API。 - serverless:云函数类,部署的是函数服务,使用场景受限,适合轻量的
API
服务 - 容器:微信云托管,托管容器,最为灵活,可以部署任何你想部署的东西,和企业级的部署方式类似。
静态网站部署
vercel
vercel 是一个前端明星团队。使用 vercel
部署非常简单:
- 上
vercel
官网,选择对应的模版 - 选择对应的代码托管平台并且授权,以
github
为例,会自动安装vercel app
。 - 选择对应的
group
或个人 - 创建代码库,开始部署。
按流程来一遍即可,非常简单
githubPages
githubPages
是 github
用来部署项目主页的工具,结合 workflow
, 利用 gh-pages
这个 action
, 部署起来非常快。代码如下:
name: my-blog deploy to gh-pages
on:
push:
branches:
- master
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout