前言
大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心。
个人网站的部署
相信很多前端兄弟都买过服务器,并且把自己的个人项目部署到服务器上,就比如我最近在搞个人的博客网站,我用的是腾讯云的服务器,前端用的是vuepress去进行当做博客的框架
但是我每次部署到服务器都要分为几步:
- 提交代码
- 本地打包,并压缩成zip
- 登录服务器宝塔,上传zip
- 解压到指定目录
这样才能在网站上看到我部署后的成果
图片
能否实现自动化
我需要手动做这么多事情?那我能不能用某些方式,做到自动化呢?比如:
- 我只需要做:提交代码
- 自动化:打包、zip、上传、解压
也就是我只需要提交代码,剩下的事情自动化都帮我去自动完成了,如果了解过 CI/CD 的朋友就知道,其实现在市场上提供了很多很多的自动化部署工具,比如:
- github actions
- gitlab ci
- jenkins
由于后两个都是公司项目里用的多,至于我们自己个人项目,我们用github actions比较方便一些,也很简单~所以我今天就教教大家怎么使用github actions自动化部署自己的个人项目吧!
开搞
前置知识
我们刚刚说了:
- 我只需要做:提交代码
- 自动化:打包、zip、上传、解压
图片
那要怎么在github中去执行 打包、zip、上传、解压 呢?我们需要使用到workflows
github token
貌似现在终端中github操作使用token去操作会更加方便?我们可以先去github申请一个token,以后做事也方便~
图片
接着进去到开发者设置,直至找到创建token的按钮~
图片
图片
这两个记得勾起来哦~不然后面搞不了github actions滴
图片
workflows & job & step
我们需要在项目中新建.github文件夹,然后创建workflows文件夹,这个workflows文件夹里放的就是你要执行的一些命令,这些命令就包含 打包、zip、上传、解压 ~
当我们把这些东西提交到github后,github会去识别.github中的workflows中的这些yml,并去执行它们(可以多个yml文件)
图片
我们可以在ci.yml中先写一些测试的脚本,我们可以认识几个关键字:
- job:可以理解为任务
- step:可以理解为一个任务中的一些步骤
- run:跑命令,执行
name: CI
on:
# 代码push的时候触发
push:
# main分支的时候触发
branches: main
jobs:
# 定义一个job,名字为CI
CI:
# 使用github提供给我们的机器去跑
runs-on: ubuntu-latest
# 步骤
steps:
# 步骤名为test
- name: test
# 打印哈哈
run: echo 哈哈哈