部署egg需要用到pm2吗_效率提升利器:你还害怕自动化部署吗?

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

c54dc0aa587dd1888207546becd83052.png

比尔盖茨曾提到过自动化的重要性:“技术在业务中使用的第一原则是,将自动化应用在正确的操作上将大大提升效率。总体看来,自动化是件了不起的好事”。

自动化部署概述

开发和部署

开发者使用脚手架创建初始项目,在本地搭建开发服务器进行项目开发,编码完成后,经过构建生成目标环境可用的代码,到此阶段的所有工作都属于开发环节。

部署就是在开发结束后,使得软件在某一环境中运行起来,这个过程中会将源代码生成可运行的软件包,然后将软件包放到要部署的环境中,通过一些配置使得这个软件包在目标环境上也能够正常工作。

自动化部署

一句简单的话概括:部署的过程中所有的操作全部自动化,无需人工干预。

自动化部署的好处

对于传统的手动部署来说,如果项目需要新增加一个功能,你就得把 “本地更新 --- 构建 --- 发布” 这一套流程走一遍。看似容易,一旦项目增多,部署频繁,整体效率就会低下,还会存在人为的误操作,所以自动化部署十分必要。

自动化部署工具

现在有很多工具都能帮助我们实现 CI / CD 服务,比如 jenkinsGitlab CI, GitHub Actions 等等,本文将以 GitHub Actions 为例,演示自动部署的流程:

2a5cbf3c237f4162198ca4b506bf674d.png

自动化部署流程

1. 环境准备

  • Linux 服务器
  • 代码托管到 GitHub 远程仓库

注意 官方对服务器有要求,目前支持的如下:

43feb377b7c593a8959193fc251652c9.png

本文以 Linux 的 Ubuntu 20.04为例。

2. GitHub 设置

登录 GitHub ---->

用户设置 settings(注意是用户的而不是项目内)--->

Developer settings --->

Personal access tokens --->

Generate new token --->

Generate token

11bcad12456084c531f1ac1213b5b780.png

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

4bfbcc83b9e7f22817aeafa7c73d4418.png

3. 项目设置

进入项目仓库 --->

点击 settings --->

secrets --->

New secrets

5d7f1c28789c92f4461fca63a97893df.png

这里需要注意,在第二步生成 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。

ae1ad73e687772571587cdeffc78c787.png

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

bf50ae852e076601dd4bc3de00da4229.png

最后所有任务都成功,说明这个项目自动部署已经成功了。之后代码更新,需要部署上线,也就不用人工去重复那些繁琐的工作了,只需重复一下第五步,就可以触发自动部署。

本文首发在公众号:勾勾的前端世界

听说可爱的前端人都在这里[灵光一闪]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值