GitHub 双仓库静态部署完整配置手册(适配你的项目)
✨个人主页编程的一拳超人⛺️ 欢迎关注点赞 留言 收藏于高山之巅方见大河奔涌于群峰之上更觉长风浩荡。GitHub 双仓库静态部署完整配置手册适配你的项目一、前期准备二、步骤1生成个人访问令牌PAT三、步骤2私有源码仓库配置密钥四、步骤3私有仓库编写自动化工作流4.1 创建文件4.2 完整配置代码4.3 提交文件到仓库五、步骤4前端项目部署适配必做否则白屏/4045.1 Vite 基础路径配置5.2 SPA 路由刷新 404 修复5.3 关于 .nojekyll 文件六、步骤5公开部署仓库开启 GitHub Pages七、步骤6首次触发部署与结果验证7.1 触发构建7.2 查看构建状态7.3 验证站点访问八、步骤7部署仓库安全加固推荐九、日常开发流程十、全场景问题排查手册1. 工作流执行失败报 403 权限错误2. 页面打开空白控制台报 css/js 4043. 页面刷新后出现 4044. 公开仓库看不到 gh-pages 分支5. 样式、图片资源加载不出来GitHub 双仓库静态部署完整配置手册适配你的项目本手册针对你的两个仓库量身定制全程按步骤操作即可实现「源码私有、站点公开」的自动化部署。私有源码仓库https://github.com/qiekuo/HongyunX-Agent-Web作用存放完整前端项目源码日常开发提交源码不对外公开公开部署仓库https://github.com/qiekuo/HongyunX-Agent-Web-Deploy作用仅存放编译后的 dist 静态文件开启 GitHub Pages 对外提供访问最终访问地址https://qiekuo.github.io/HongyunX-Agent-Web-Deploy/工作原理向私有仓库推送代码 → GitHub 云端自动构建打包 → 将产物自动推送到公开仓库的 gh-pages 分支 → GitHub Pages 读取该分支对外展示一、前期准备确认两个仓库已创建私有仓库HongyunX-Agent-Web已上传你的前端项目源码包含package.json、vite.config.ts等工程文件公开仓库HongyunX-Agent-Web-Deploy初始空仓库状态即可无需手动上传任何代码本地前端项目可正常执行npm install和npm run build能生成dist目录你拥有该 GitHub 账号的完整操作权限二、步骤1生成个人访问令牌PAT该令牌用于让私有仓库的自动化流程获得向公开部署仓库推送代码的权限全程只需要生成一次。登录 GitHub点击右上角头像 → 选择Settings设置左侧菜单拉到最底部找到Developer settings开发者设置并点击左侧菜单选择Personal access tokens→ 点击下级的Tokens (classic)点击右上角Generate new token→ 选择Generate new token (classic)按以下参数填写Note备注填写HongyunX-Deploy-Token方便后续识别用途Expiration有效期建议选择No expiration永久有效若注重安全可设置为 90 天到期后重新生成Select scopes权限范围只勾选最上方的repo大类勾选后会自动选中 repo 下的所有子项拉到页面最底部点击Generate token生成令牌⚠️关键操作生成后立刻复制完整的令牌字符串以ghp_开头该页面刷新后将不再显示丢失只能重新生成三、步骤2私有源码仓库配置密钥将上一步生成的令牌存入私有仓库的加密密钥中避免明文泄露。打开你的私有源码仓库https://github.com/qiekuo/HongyunX-Agent-Web顶部菜单点击Settings设置左侧菜单找到Secrets and variables→ 点击下级的Actions点击右侧New repository secret新建仓库密钥填写参数Name密钥名称严格填写DEPLOY_TOKEN大小写必须完全一致后续工作流会引用这个名称Secret密钥值粘贴上一步复制的完整 PAT 令牌字符串点击Add secret保存保存后密钥值无法再次查看只会显示名称四、步骤3私有仓库编写自动化工作流在你的本地前端项目中创建工作流配置文件提交后即可实现 push 代码自动部署。4.1 创建文件在项目根目录下按层级新建文件夹和文件你的项目根目录 └── .github └── workflows └── deploy-to-public.yml注意.github是点开头的隐藏文件夹名称必须完全一致不能少了开头的点。4.2 完整配置代码将以下内容完整复制到deploy-to-public.yml文件中无需修改任何内容已适配你的仓库信息name:自动构建并部署到公开仓库# 触发条件向 main 分支推送代码时自动执行on:push:branches:[main]# 工作流默认权限仅读取源码permissions:contents:readjobs:build-deploy:runs-on:ubuntu-lateststeps:# 步骤1拉取私有仓库的源代码-name:检出项目源码uses:actions/checkoutv4# 步骤2配置 Node.js 运行环境-name:配置 Node.js 环境uses:actions/setup-nodev4with:node-version:22cache:npm# 开启依赖缓存加快后续构建速度# 步骤3安装项目依赖-name:安装项目依赖run:npm ci# 比 npm install 更严格确保依赖版本与 lock 文件一致# 步骤4执行生产环境构建打包-name:构建生产环境产物run:npm run build# 生成 dist 目录# 步骤5将 dist 目录推送到公开部署仓库的 gh-pages 分支-name:推送静态产物到部署仓库uses:peaceiris/actions-gh-pagesv4with:# 目标公开仓库用户名/仓库名 格式external_repository:qiekuo/HongyunX-Agent-Web-Deploy# 引用我们配置的密钥personal_token:${{secrets.DEPLOY_TOKEN}}# 要推送的本地产物目录publish_dir:./dist# 目标仓库的分支名publish_branch:gh-pages# 提交记录信息方便追溯版本commit_message:自动部署: ${{ github.sha }}# 自动添加 .nojekyll 文件防止 GitHub 过滤下划线开头的资源enable_jekyll:false4.3 提交文件到仓库将.github文件夹及内部文件提交到本地 Git 并推送到私有仓库的main分支。五、步骤4前端项目部署适配必做否则白屏/404GitHub Pages 项目站点是二级路径必须修改项目基础路径否则静态资源会加载失败。5.1 Vite 基础路径配置打开项目中的vite.config.ts或vite.config.js添加base配置import{defineConfig}fromviteexportdefaultdefineConfig({// 必须与公开部署仓库名完全一致首尾都带斜杠大小写严格匹配base:/HongyunX-Agent-Web-Deploy/,// 下方保留你原有的其他配置plugins、server 等// plugins: [vue()],// ...})原理说明GitHub Pages 项目站点的根路径是域名/仓库名/如果不配置 base项目会默认从根路径加载资源导致 js/css 文件 404页面空白。5.2 SPA 路由刷新 404 修复如果你的项目使用了 Vue Router / React Router 的 history 模式刷新页面会出现 404按以下方式修复在项目的public目录下新建文件404.html将index.html的全部内容完整复制到404.html中构建打包时该文件会自动进入 dist 目录原理说明GitHub Pages 遇到不存在的路径时会返回 404.html我们让它和 index.html 内容一致前端路由就能正常接管页面。5.3 关于 .nojekyll 文件上述工作流配置中enable_jekyll: false会自动在部署仓库生成.nojekyll空文件无需手动添加。它的作用是关闭 GitHub 默认的 Jekyll 解析防止_assets等下划线开头的文件夹被过滤。六、步骤5公开部署仓库开启 GitHub Pages打开公开部署仓库https://github.com/qiekuo/HongyunX-Agent-Web-Deploy顶部菜单点击Settings设置左侧菜单找到Pages在Build and deployment区域按以下选择Source来源选择Deploy from a branch从分支部署Branch分支第一个下拉框暂时可能看不到gh-pages分支第一次构建后才会自动创建可先选main等第一次构建完成后再回来修改第二个下拉框选择/ (root)根目录点击Save保存说明第一次工作流执行成功后会自动在公开仓库创建gh-pages分支。创建完成后请回到此页面将 Branch 切换为gh-pages确保线上站点只读取部署产物不受 main 分支文件影响。七、步骤6首次触发部署与结果验证7.1 触发构建将前面修改的vite.config.ts、新增的.github工作流、public/404.html全部提交并推送到私有仓库的main分支。7.2 查看构建状态打开私有源码仓库 → 顶部菜单点击Actions列表中会出现一条正在运行的工作流名称为「自动构建并部署到公开仓库」点击进入可以查看每一步的执行日志绿色对勾代表成功红色叉号代表失败失败时可点击对应步骤查看报错详情7.3 验证站点访问工作流全部执行成功后等待 1~3 分钟GitHub Pages 缓存更新需要时间在浏览器访问https://qiekuo.github.io/HongyunX-Agent-Web-Deploy/页面正常加载即代表部署成功。八、步骤7部署仓库安全加固推荐为防止误操作篡改线上产物建议给公开仓库的部署分支添加保护规则。打开公开部署仓库 →Settings→ 左侧Branches点击Add branch protection rule添加分支保护规则填写配置Branch name pattern填写gh-pages勾选Do not allow force pushes禁止强制推送覆盖历史代码勾选Do not allow deletions禁止删除该分支拉到底部点击Create保存九、日常开发流程配置完成后日常开发无需额外操作本地编写代码提交并推送到私有仓库main分支等待 1~2 分钟自动构建部署完成刷新线上页面查看更新十、全场景问题排查手册1. 工作流执行失败报 403 权限错误检查 PAT 令牌是否勾选了完整的repo权限检查私有仓库 Secrets 的名称是否严格为DEPLOY_TOKEN大小写一致检查 PAT 令牌是否已过期可重新生成替换确认external_repository填写格式为用户名/仓库名不要写完整 URL2. 页面打开空白控制台报 css/js 40499% 是vite.config.ts中base配置错误必须严格写成/HongyunX-Agent-Web-Deploy/首尾斜杠不能丢大小写和仓库名完全一致修改后重新提交代码等待重新部署3. 页面刷新后出现 404确认public目录下已添加404.html且内容与index.html完全一致确认文件已提交并重新部署4. 公开仓库看不到 gh-pages 分支说明工作流还没执行成功去私有仓库的 Actions 页面查看报错常见失败原因项目本地 build 就报错、依赖安装失败、package.json 里没有build脚本5. 样式、图片资源加载不出来检查资源引用路径是否使用了绝对路径/xxx项目级部署请使用相对路径确认base配置正确Vite 会自动根据 base 处理静态资源路径

相关新闻

电赛H题车载平衡滚球系统实战:从PID控制到嵌入式开发全解析

电赛H题车载平衡滚球系统实战:从PID控制到嵌入式开发全解析

最近在准备电赛的同学,是不是被各种“平衡”“控制”“运动系统”搞得有点头大?特别是看到“车载平衡滚球”这种题目,第一反应可能是:这得用上多少高深的算法和复杂的机械结构?别急,这篇文章就是来帮你“拆…

2026/8/16 2:55:49 阅读更多 →
C++内联函数深度解析:从编译器优化到性能调优实践

C++内联函数深度解析:从编译器优化到性能调优实践

1. 从一次性能调优的“误会”说起最近在帮同事排查一个C项目的性能瓶颈,发现了一个挺有意思的现象。项目里有个高频调用的、计算量很小的工具函数,同事为了“优化性能”,把它声明成了inline。但实际用性能分析工具一跑,发现这个函…

2026/8/16 2:55:49 阅读更多 →
IDEA快捷键全解析:从核心导航到重构调试的实战指南

IDEA快捷键全解析:从核心导航到重构调试的实战指南

1. 项目概述:为什么你需要一份“全网最全”的快捷键指南?作为一名在Java开发一线摸爬滚打了十多年的老码农,我敢说,IDEA(IntelliJ IDEA)是咱们这个行当里绕不开的生产力工具。但工具再好,用不好…

2026/8/16 2:55:49 阅读更多 →

最新新闻

LeetCode AI助手:苏格拉底式引导与面试模拟提升算法思维

LeetCode AI助手:苏格拉底式引导与面试模拟提升算法思维

这次我们来看一个专门为 LeetCode 刷题和面试准备设计的浏览器扩展工具。它不是一个需要本地部署的 AI 模型,而是一个直接集成在浏览器侧边栏的智能助手。核心功能非常直接:在你刷 LeetCode 时,它能在旁边提供苏格拉底式的引导提示&#xff0…

2026/8/16 3:58:09 阅读更多 →
云原生AI助手深度对比:AWS Q、Azure Copilot与国内CloudQ如何选型

云原生AI助手深度对比:AWS Q、Azure Copilot与国内CloudQ如何选型

1. 从“云原生AI助手”的混战说起:我们到底需要什么?最近几个月,云服务商在AI领域的动作密集得让人眼花缭乱。先是AWS在re:Invent大会上正式推出AWS Q,紧接着微软的Azure AI Studio和Azure Copilot也动作频频,而国内各…

2026/8/16 3:57:09 阅读更多 →
OpenClaw与Deepgram构建自动化语音转录工作流实战

OpenClaw与Deepgram构建自动化语音转录工作流实战

1. 项目概述:当笔记工具遇上语音智能最近在折腾一个挺有意思的自动化流程:把语音笔记自动转录成文字。核心工具是 OpenClaw 和 Deepgram。OpenClaw 你可能听说过,它是一个开源的、功能强大的自动化工作流平台,可以连接各种应用和服…

2026/8/16 3:57:09 阅读更多 →
Python list()与map()深度解析:从基础到高阶的性能优化与实战应用

Python list()与map()深度解析:从基础到高阶的性能优化与实战应用

1. 项目概述:从“会用”到“精通”的必经之路在Python的日常开发中,list()和map()这两个函数,就像工具箱里的螺丝刀和扳手,看似基础,但用得好与用得巧,直接决定了代码的效率与优雅程度。很多初学者&#xf…

2026/8/16 3:57:09 阅读更多 →
检测机构查询小程序众多,哪家才是你的最优之选?

检测机构查询小程序众多,哪家才是你的最优之选?

检测机构查询小程序推荐榜单 在当今工业自动化快速发展的时代,无论是 PLC控制器、伺服驱动 等设备的生产企业,还是从事 智能制造、工业物联网 相关业务的公司,都经常需要查询检测机构的信息。我在电子电气领域摸爬滚打多年,接触过…

2026/8/16 3:56:09 阅读更多 →
一家工程机械厂的AI获客30天实录:从零召回到18次被提到

一家工程机械厂的AI获客30天实录:从零召回到18次被提到

株洲有一家做工程机械零部件外协的工厂,设备投了百来万,干的活不差,客户也稳定。但有个事一直让老板心里不踏实——新客户越来越难找了。项目启动前,团队先做了一次摸底:在四个主流AI工具里,用采购方真实会…

2026/8/16 3:56:09 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/14 13:40:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/14 14:06:45 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/15 2:35:29 阅读更多 →