赞
踩
当我们做项目的时候,如果做完了,要发布,就需要打包,扔到服务器上,如果改了一点东西,还得打包,扔到服务器上,重复的执行
打包=> 扔到服务器上
详细记录如何使用github actions自动化部署项目
自动化部署与持续交付:GitHub Actions CICD
自动化部署一般以下方式
保证自己的项目已经推送到了 GitHub上
git init
git add .
git commit -m "xxx"
settings
developer setting
Tokens (classic)
然后,点击 Generate new token
继续点击 generate new token (classic)
备注
,设置过期时间
,选中 repo的所有东西和 workflow
具体看下面的图在项目中新建
.github文件夹,然后创建workflows文件夹
,当我们提交到github
后,他就去识别 workflows 文件夹下的yml
格式文件,并且去执行他们
name: CI on: # 代码push的时候触发 push: # master 分支的时候触发 branches: master jobs: # 定义一个job,名字为CI CI: # 使用github提供给我们的机器去跑 runs-on: ubuntu-latest # 步骤 steps: # 步骤名为test - name: test # 打印哈哈 run: echo 嘿嘿嘿
然后当我们推送到 master 的时候他就会执行一些任务
还可以点进去,查看详情
目的肯定是:
把打包后的文件推送到服务器上
,那么就可以按照下面这样配置
name: CICD on: # 代码push的时候触发 push: # main 分支的时候触发 branches: - main jobs: # 定义一个job,名字为CI CI: # 使用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/ssh-deploy@v2.0.7 env: # 免密登录的秘钥 SSH_PRIVATE_KEY: ${{ secrets.FWQ_PASS }} # 服务器登录用户名 REMOTE_USER: ${{ secrets.FWQ_USER }} # 服务器的公网IP REMOTE_HOST: ${{ secrets.FWQ_IP }} # 你打包后产物的文件夹 SOURCE: "dist/" # 先清空目标目录 ARGS: "-avzr --delete" # 上传到服务器目标目录 TARGET: "/project_ddg/vitetestcicd"
~/.ssh
文件夹下, 就是 /root/.ssh
私钥
就是不带 pub 的那个文件,放到 2.5 步 创建 secrets 哪里即可生成密钥操作步骤
# 如果你服务器已经有了 密钥 ,建议 指定一下 密钥名字
ssh-keygen -t rsa -C "youmail@gmail.com"
# 指定密钥名字,githubActionCICD 替换为你自己起的名字
ssh-keygen -t rsa -f githubActionCICD -C "youmail@gmail.com"
这样服务器就会生成两个文件
secrets 的东西需要在这里配置一下,名字可以自定义,
1
:FWQ_PASS:一般是 SSH登录,那么 这个地方,就得填写 服务器的私钥
就是2.4 步 生成的东西2
:FWQ_USER:一般是 root3
:FWQ_IP:就是服务器公网IP地址可以通过在线安装进行安装
虽然有这个错误,但是 去打开这个站点,看到的界面,确实是最新的,就是莫名其妙的会报这个错误, 求大佬解答~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。