Vue3 + Vite 项目使用 GitBash 自动化部署GitHub

Vue3 + Vite 项目使用 GitBash 自动化部署到GitHub,(部署到服务端方式看这个)

复制代码
本文档详细介绍如何在 Vue3 + Vite 项目中,通过 GitBash 编写 bash 脚本,实现「构建 → 部署」
全流程自动化。涵盖两种主流部署场景:GitHub Pages 静态托管与自有服务器部署,适用于 
Windows 环境(依赖 GitBash)。

一、前置准备

在开始自动化部署前,需完成以下基础配置,避免后续流程报错。

1.项目可正常构建 :本地执行 npm run build 能成功生成 dist 目录(Vite 默认输出目录),确保无构建语法错误。

2.安装 GitBash:从 Git 官网 下载并安装 Git(含 GitBash),打开 GitBash 终端,执行 git --version 验证安装成功。

3.配置目标环境权限

  • 部署到 GitHub Pages:需拥有目标仓库的推送权限,建议配置 SSH 密钥实现免密登录(避免脚本执行时手动输入密码)。
  • 部署到自有服务器:需通过 SSH 连接服务器的权限,同样建议配置 SSH 免密登录。

二、场景 1:部署到 GitHub Pages

GitHub Pages 适用于纯前端静态项目,可免费托管并生成公网访问地址(格式:https://<用户名>.github.io/<仓库名>/

1.1 配置 Vite 基础路径

GitHub Pages 访问路径包含仓库名,需在 Vite 中配置 base 参数,否则会出现资源加载失败问题。

修改项目根目录的 vite.config.js 文件:

javascript 复制代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [vue()],
  // 替换 <你的仓库名> 为实际 GitHub 仓库名称(如仓库地址是 github.com/abc/my-vue3,则填 /my-vue3/)
  base: '/<你的仓库名>/', 
})
1.2 编写自动化部署脚本

在项目根目录创建 deploy.sh 文件(bash 脚本),用于自动执行构建、提交、推送流程。

脚本内容如下(复制后需替换 <你的用户名><你的仓库名>):

javascript 复制代码
#!/bin/bash
set -e  # 脚本执行中若出现错误,立即终止执行

# 步骤 1:清理旧构建产物并重新构建
echo "=== 开始构建 Vue 项目 ==="
rm -rf dist  # 删除本地旧的 dist 目录(避免残留文件)
npm run build  # 执行 Vite 构建命令,生成新 dist 目录

# 步骤 2:进入构建产物目录,初始化 Git 仓库
echo "=== 准备提交构建产物 ==="
cd dist  # 进入 dist 目录
git init  # 初始化临时 Git 仓库(用于提交 dist 内容)
git add -A  # 暂存所有文件
# 提交信息包含当前时间,便于追溯部署版本
git commit -m "deploy: $(date +'%Y-%m-%d %H:%M:%S')"

# 步骤 3:推送 dist 内容到 GitHub 的 gh-pages 分支
echo "=== 推送至 GitHub Pages ==="
# 强制推送当前分支到 GitHub 仓库的 gh-pages 分支(覆盖旧内容)
# 注意:替换 <你的用户名> 和 <你的仓库名> 为实际信息(建议用 SSH 地址,免密登录)
git push -f git@github.com:<你的用户名>/<你的仓库名>.git master:gh-pages

# 步骤 4:返回项目根目录
cd -

# 部署完成提示
echo "=== 部署成功!==="
echo "访问地址:https://<你的用户名>.github.io/<你的仓库名>/"
1.3 执行部署脚本
  1. 打开 GitBash 终端,进入项目根目录(例如:cd /e/projects/my-vue3-project)。

  2. 给脚本赋予可执行权限(仅首次执行需操作):

    bash 复制代码
    chmod +x deploy.sh
  3. 运行脚本,启动自动化部署:

    bash 复制代码
    ./deploy.sh

1.4 注意事项

  • 首次部署后,需在 GitHub 仓库配置 Pages 源:进入仓库 → 点击「Settings」→ 找到「Pages」→ 「Source」选择 gh-pages 分支 → 点击「Save」。

  • 若推送失败,检查:① GitHub 仓库地址是否正确;② 本地 SSH 密钥是否已添加到 GitHub 账户(路径:GitHub 个人设置 → 「SSH and GPG keys」→ 「New SSH key」)。


此时项目代码已成功部署到 GitHub 上

相关推荐
starzy19902 分钟前
虚拟化解决方案全景:软件虚拟化、硬件虚拟化与 Docker 的位置
运维·docker·容器
朗宇芯工控20 分钟前
注塑机械手自动化上下料原理、流程与应用优势
机器人·自动化·制造·工业·运动控制系统
Neighbor_OldY34 分钟前
云上安全配置审计与误配置修复实战:从安全组、OSS、RAM到数据库的全栈排查复盘
大数据·运维·安全·云计算
开心大爆炸2 小时前
xrdp 连接 登录对话框输入密码后闪退
linux·运维·服务器
苏生Susheng3 小时前
【软件实施】Linux系统Shell脚本教程
linux·运维·服务器·chrome·spring boot·学习·实施
2601_962304913 小时前
把出片接进自动化流水线:2026 年批量 AI 视频生成工具的脚本契约与同类项目对照
运维·人工智能·自动化
Ruiery3 小时前
Linux 6.6内核 IOMMU 深度解析(七):DMA API 与 IOMMU 集成 — 从 dma_map_single 到 iommu_map
linux·运维·服务器
天远数科3 小时前
零信任架构实战:基于天远身份证OCR构建自动化高并发移动支付网关
人工智能·架构·自动化·ocr
snow@li3 小时前
服务器运维:Alibaba Cloud Linux 4 LTS 64位 根目录全景深度解析文章
linux·运维·服务器
实战派K8S&DB4 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi