嗨,我是你稳定输出、干货多多的勾勾(。・∀・)ノ゙。今天要聊一聊“自动化部署”。

比尔盖茨曾提到过自动化的重要性:“技术在业务中使用的第一原则是,将自动化应用在正确的操作上将大大提升效率。总体看来,自动化是件了不起的好事”。
自动化部署概述
开发和部署
开发者使用脚手架创建初始项目,在本地搭建开发服务器进行项目开发,编码完成后,经过构建生成目标环境可用的代码,到此阶段的所有工作都属于开发环节。
部署就是在开发结束后,使得软件在某一环境中运行起来,这个过程中会将源代码生成可运行的软件包,然后将软件包放到要部署的环境中,通过一些配置使得这个软件包在目标环境上也能够正常工作。
自动化部署
一句简单的话概括:部署的过程中所有的操作全部自动化,无需人工干预。
自动化部署的好处
对于传统的手动部署来说,如果项目需要新增加一个功能,你就得把 “本地更新 --- 构建 --- 发布” 这一套流程走一遍。看似容易,一旦项目增多,部署频繁,整体效率就会低下,还会存在人为的误操作,所以自动化部署十分必要。
自动化部署工具
现在有很多工具都能帮助我们实现 CI / CD 服务,比如 jenkins,Gitlab CI, GitHub Actions 等等,本文将以 GitHub Actions 为例,演示自动部署的流程:

自动化部署流程
1. 环境准备
- Linux 服务器
- 代码托管到 GitHub 远程仓库
注意 官方对服务器有要求,目前支持的如下:

本文以 Linux 的 Ubuntu 20.04为例。
2. GitHub 设置
登录 GitHub ---->
用户设置 settings(注意是用户的而不是项目内)--->
Developer settings --->
Personal access tokens --->
Generate new token --->
Generate token

这里需要特别注意,生成的值只会展示一次,记得保存好。如果没注意保存,那就重新生成一个。

3. 项目设置
进入项目仓库 --->
点击 settings --->
secrets --->
New secrets

这里需要注意,在第二步生成 token。我们说了名称随意,只需把那个值拿过来填到这里,在第三步中建议就叫 token,因为后续配置中要用到,如果这里不是 token,就得在后续修改配置文件。
4. 本地开发项目内
在项目根目录下创建 .github/workflows/main.yml 文件,这个就是具体的工作流文件,这里主要文件夹名称以及文件名称都得是这个,main.yml 可参考 main.yml,pm2.json 可参考 pm2.json。
5. git tag
到此,基本配置结束,我们就可以进行发布了。先本地提交所有代码同步到远程仓库,然后在本地git tag 打个标签(git tag v0.0.1),再通过 git push origin v0.1.1 触发部署,因为我们在 main.yml 文件中设置了,当以 v 开头定位 push 就触发部署。
6. 验证效果
回到 GitHub,点击 Actions。

进入具体构建查看 build-and-deploy。

最后所有任务都成功,说明这个项目自动部署已经成功了。之后代码更新,需要部署上线,也就不用人工去重复那些繁琐的工作了,只需重复一下第五步,就可以触发自动部署。
本文首发在公众号:勾勾的前端世界
听说可爱的前端人都在这里[灵光一闪]