如何使用Github Workflow流水线化部署项目
🥽

如何使用Github Workflow流水线化部署项目

Date
Created
Jul 1, 2024 10:23 AM
Descrption
好记性不如烂笔头
Tags
CI/CD
记录
notion image

背景介绍

对于在大厂工作过的小伙伴,肯定使用过很多便利的CI/CD流程,那么当我们自己做项目,或者给公司搭建CI/CD流程的时候应该怎么处理;
  • 这里介绍下我知道的做法:
  • 使用阿里云提供的流水线工具,但是配置有一定的门槛;
  • 使用jenkins自己配置,参考的资源比较多,但是配置也相对有点多;
  • 使用github workflow,实测首次配置2小时配置完毕;
 
那么这里就介绍下github workflow的方式,其他方式后面有可能还会再介绍;

准备工作:

  • 你的代码已经上传到github;
  • 你需要有一台自己的阿里云服务器;

开始:

在github上创建一个yml文件:
notion image
创建好后就可以配置你的文件内容:
# 你的CI流程名称 name: CI # 你所需要操作的分支 on: push: branches: - master jobs: build: runs-on: ubuntu-latest #打包机器,不需要改 steps: - name: 迁出代码 # 步骤名称 uses: actions/checkout@master # workflow名称 - name: 安装node.js # 步骤名称 uses: actions/setup-node@v1 # workflow名称 with: node-version: "14.16.1" # node 版本 - name: 安装依赖 # 步骤名称 run: npm install # 安装依赖命令 - name: 打包 # 步骤名称 run: npm run build # 打包命令 - name: 发布到阿里云 # 步骤名称 uses: easingthemes/ssh-deploy@v2.1.5 # workflow名称 env: #私钥 SSH_PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} # 你的私钥 #SCp参数 ARGS: "-rltgoDzvO --delete" # 不需要改 #源目录 SOURCE: "dist/" # 你的产物目录 #服务器Ip:换成你的服务器iP REMOTE_HOST: "47.114.3.158" #你 的阿里云服务器ip地址 #用户 REMOTE_USER: "root" # 你的阿里云服务器用户名 #目标地址 TARGET: "/root/vite_test" #你想要部署的阿里云服务器文件目录
 
这里着重要说的是你的私钥配置方法:
第一步:
进入阿里云服务器,执行命令行,生成密钥:
ssh-keygen -m PEM -t rsa -b 4096 -C "你的git邮箱地址"
第二步:
将密钥配置到github上
配置私钥:
notion image
notion image
配置公钥:
notion image
notion image

提交yml:

配置已经完成了,提交 git 更新,提交后就会自动激活 yml 脚本。
notion image
最后,如果顺利的话,你已经可以部署成功了!
 
我这里由于还进行了比较多的更改,包括直接在服务器启动服务等,所以有一些报错;
 
芜湖~