• zxb的博客
    • 运维
      • 🧊即插即更:移动硬盘与 U 盘的自动同步方案
      • ⛳FRP穿透个人博客——SSL安全篇
      • 📄Github Action自动化部署Vue3项目
      • 🎲Docker Desktop 代理配置:让镜像拉取更稳更快
      • 🤓FRP穿透搭建个人博客(白嫖SSL版)
      • 🪁FRP穿透搭建个人博客
      • 📄Kubeeasy安装K8s集群(附独家报错解决)
    • 技术体验
      • 🛡️别再找插件了,美团出品的Tabbit才是真正的AI浏览器
      • 💧GitHub 霸榜!Tabbit平替:给浏览器装上“最强大脑”,这才是真·AI 浏览器插件
    • 自制软件插件
      • 🧋🧧 仪式感拉满!这款开源“年味”小游戏,带你瞬间找回童年快乐!
      • 🕸️摸鱼神器——摸了吗
      • 🔍🚀 思源笔记 S3 插件 v1.0.2 更新:手把手教你配置 PicList 导出
      • 🌊🚀 思源笔记 S3 插件 v1.0.3 更新:一键解锁 BM.md 精美排版!
      • 🥔AE机器人大模型案例
      • Claude Code 终于会"叫"了 —— 一个 10MB 小工具,让 AI 跑完任务发个声
    • 开发小技巧
      • 🪴【保姆级】NAS 骚操作:白嫖百 T 网盘做图床!阿里云/百度秒变“私有云相册”,快到飞起!
    • 后端技术
      • 🚁解决 Spring Session 分布式部署难题:Redis 集成指南
      • 📄使用ThreadLocal实现用户身份认证
      • SpringAI
        • 别再手写 HTTP 客户端调 AI 了!Spring AI 官方出手,一行代码搞定多模型切换
      • 📄使用注解+反射实现自动填充
      • Spring
        • 🔁循环依赖:一个Spring经典坑
        • Spring如何解决依赖循环
        • 🫛什么是Spring Bean
      • Java基础
        • 什么是序列化和反序列化?
        • 📄Java中HashMap的原理
      • 报错解决
        • 🕙SpringWeb报错——CORS问题解决
        • 📄一行 JVM 参数解决 HttpClient 卡死:强制 Java 禁用 IPv6
    • 📑前端技术
      • 🫚axios工具类
      • 🍛Vite项目屏幕适配的两种方案,超详细
      • 📕vue-router小技巧:通过route传参动态设置页面
zxb的博客运维

Github Action自动化部署Vue3项目

访问次数 1218 次创建时间 2026-03-27 11:08

介绍


Github Action是一个CI/CD工具,它的功能很多,比如 自动化部署node 等。 也可以认为它是一个可以白嫖的docker容器

部署教程


ACTION主要是载体是脚本,你需要在项目 .github/workflows 创建脚本。

如:

开始之前,你需要做一件事:

在vite.config.ts文件设置base为 './',

import { defineConfig } from 'vite'

import vue from '@vitejs/plugin-vue'



// https://vite.dev/config/

export default defineConfig({

  plugins: [vue()],

  base: './' // 打包路径

})

1. 编写脚本

# .github/workflows/auto-deploy.yml

name: auto deploy 🚀

on:
  # 监听push操作
  push:
    branches:
      - main # 这里只配置了main分支,所以只有推送main分支才会触发以下任务
  pull_request:

  # 这个选项可以使你手动在 Action tab 页面触发工作流
  # workflow_dispatch:

permissions:
  # 允许对仓库的内容进行写操作。包括创建、修改和删除文件、目录以及提交更改等
  # 这里只配置了push,所以只有推送main分支才会触发以下任务 
  contents: write
  # 允许管理 GitHub Pages 服务并对其进行写操作
  pages: write


jobs:
  # 任务ID
  build-and-deploy:
    # 运行环境
    # runs-on: macos-latest
    # runs-on: windows-latest
    runs-on: ubuntu-latest
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}

    # 步骤
    steps:
      # 官方action,将代码拉取到虚拟机
      - name: Checkout
        uses: actions/checkout@v3

      # 建一个名为setup-node的步骤(安装指定版本的Node.js)
      - name: setup-node 
        # 使用setup-node@v3这个action
        uses: actions/setup-node@v3
        # 指定某个action 可能需要输入的参数
        with:
          node-version: '22.x'

      # 安装 pnpm
      - name: Install pnpm
        run: npm install pnpm -g

      # 安装依赖  
      - name: Install dependencies
        run: pnpm i
      # 打包
      - name: Build application 🔧
        run: pnpm build

      # 部署 https://github.com/JamesIves/github-pages-deploy-action
      - name: Deploy 🚀
        uses: JamesIves/github-pages-deploy-action@v4
        if: github.ref == 'refs/heads/main'
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          branch: gh-pages  # default: gh-pages
          folder: dist
          clean: true # Automatically remove deleted files from the deploy branch
          # commit-message: ${{ github.event.head_commit.message }} # default: `Deploying to gh-pages from @ 3238feb 🚀`
          # commit-message: "deploy: ${{ github.sha }} (${{ github.event.head_commit.message }}) 🚀 "

2. 生成秘钥

3. 测试

git pull
git add .
git commit -m "xxx"
git push -u origin main

评论

0 条评论

暂无评论,欢迎第一个留言。

验证码
回复评论
验证码
举报内容
验证码
由 b8l8u8e8 提供支持