文章目录
1.背景
当我们做项目的时候,如果做完了,要发布,就需要打包,扔到服务器上,如果改了一点东西,还得打包,扔到服务器上,重复的执行
打包=> 扔到服务器上
详细记录如何使用github actions自动化部署项目
自动化部署与持续交付:GitHub Actions CICD
自动化部署一般以下方式
- Jenkins
- gitlab
- GitHub actions
2.具体流程
2.1 在自己的项目
保证自己的项目已经推送到了 GitHub上
git init
git add .
git commit -m "xxx"
2.2 设置GitHub token
- 进入GitHub官网,点击 右上角头像,点击
settings
- 在左侧导航中,点击
developer setting
- 点击
Tokens (classic)
然后,点击Generate new token
继续点击generate new token (classic)
- 进入新的界面,可以写个
备注
,设置过期时间
,选中repo的所有东西和 workflow
具体看下面的图
2.3 配置 workflows
在项目中新建
.github文件夹,然后创建workflows文件夹
,当我们提交到
github
后,他就去识别 workflows 文件夹下的
yml
格式文件,并且去执行他们
- 举个例子,创建一个 ci.yml 文件 ,里面写入以下代码
name: CI
on:# 代码push的时候触发push:# master 分支的时候触发branches: master
jobs:# 定义一个job,名字为CICI:# 使用github提供给我们的机器去跑runs-on: ubuntu-latest
# 步骤steps:# 步骤名为test-name: test
# 打印哈哈run: echo 嘿嘿嘿
然后当我们推送到 master 的时候他就会执行一些任务
还可以点进去,查看详情
目的肯定是:
把打包后的文件推送到服务器上
,那么就可以按照下面这样配置
name: CICD
on:# 代码push的时候触发push:# main 分支的时候触发branches:- main
jobs:# 定义一个job,名字为CICI:# 使用github提供给我们的机器去跑runs-on: ubuntu-latest
# 步骤steps:# 拉取最新的代码-name: Checkout repository
uses: actions/checkout@v2
with:# 克隆的分支ref: main
# 安装node环境-name: Use Node.js
uses: actions/setup-node@v3
with:node-version:"18.x"# 安装依赖-name: Installing Dependencies
run: npm install --legacy-peer-deps
# 打包-name: Build
run: npm run build
# 产物上传服务器-name: Upload to Deploy Server
uses: easingthemes/[email protected]
env:# 免密登录的秘钥SSH_PRIVATE_KEY: ${{ secrets.FWQ_PASS }}# 服务器登录用户名REMOTE_USER: ${{ secrets.FWQ_USER }}# 服务器的公网IPREMOTE_HOST: ${{ secrets.FWQ_IP }}# 你打包后产物的文件夹SOURCE:"dist/"# 先清空目标目录ARGS:"-avzr --delete"# 上传到服务器目标目录TARGET:"/project_ddg/vitetestcicd"
2.4 配置服务器SSH
- 进入服务器,进入
~/.ssh
文件夹下, 就是/root/.ssh
- 生成密钥 3.拷贝
私钥
就是不带 pub 的那个文件,放到 2.5 步 创建 secrets 哪里即可
生成密钥操作步骤
# 如果你服务器已经有了 密钥 ,建议 指定一下 密钥名字
ssh-keygen -t rsa -C"[email protected]"# 指定密钥名字,githubActionCICD 替换为你自己起的名字
ssh-keygen -t rsa -f githubActionCICD -C"[email protected]"
这样服务器就会生成两个文件
2.5 配置 repository secret
secrets 的东西需要在这里配置一下,名字可以自定义,
1
:FWQ_PASS:一般是 SSH登录,那么 这个地方,就得填写服务器的私钥
就是2.4 步 生成的东西2
:FWQ_USER:一般是 root3
:FWQ_IP:就是服务器公网IP地址
2.6 服务器安装宝塔
可以通过在线安装进行安装
在线安装地址
2.7 搭建网站
备注
不知道怎么处理的一个错误
虽然有这个错误,但是 去打开这个站点,看到的界面,确实是最新的,就是莫名其妙的会报这个错误, 求大佬解答~
版权归原作者 嘤嘤怪呆呆狗 所有, 如有侵权,请联系我们删除。