使用JamesIves/github-pages-deploy-action自动部署到GitHub Pages指南
2026-01-17 08:58:56作者:温艾琴Wonderful
1. 项目目录结构及介绍
在JamesIves/github-pages-deploy-action仓库中,主要的目录结构如下:
action.yml:这是GitHub动作的核心配置文件,定义了操作的输入参数和执行逻辑。src: 包含所有实现自动化部署功能的源代码。.github: 包含工作流配置样例和其他GitHub相关配置。README.md: 项目的主要说明文件,提供了详细的使用指导。LICENSE: 开源许可协议文件。
该行动通过读取配置并结合用户提供的输入,将构建后的静态网站推送到指定的GitHub Pages分支进行部署。
2. 项目启动文件介绍
该项目不是一个独立运行的应用程序,而是一个GitHub Actions的自定义动作。启动这个行动的方式是在你的GitHub仓库中的.github/workflows目录下创建一个YAML文件,例如deploy-pages.yml,然后在这个文件中引入和配置JamesIves/github-pages-deploy-action。
下面是一个简单的YAML示例:
name: Deploy to GitHub Pages
on:
push:
branches:
- main # 更改为你的主分支名
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '14.x'
- name: Install Dependencies
run: npm install
- name: Build Your Project
run: npm run build # 替换为你的构建命令
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
access_token: ${{ secrets.GH_PAT }}
branch: gh-pages # 更改为你的GitHub Pages分支
folder: build # 部署的文件夹
此配置会在每次向主分支推送时触发一个名为build-and-deploy的工作流程,包括检出代码、安装依赖、构建项目以及使用JamesIves的动作部署页面。
3. 项目的配置文件介绍
在上述示例中,我们已经在YAML文件中配置了一些关键参数。以下是JamesIves/github-pages-deploy-action的配置选项:
access_token: 必须是GitHub的个人访问令牌(PAT),用于身份验证并允许部署操作。branch: 指定要部署到的GitHub Pages分支,通常是gh-pages或docs等。folder: 构建产出物所在的文件夹,也就是要部署的内容的根目录。
还有其他可选参数,例如:
clean: 若设置为true,将在部署前删除目标分支上的所有文件。clean_excludes: 一个数组,包含要排除在清理过程之外的文件或文件模式。
务必根据自己的项目需求调整这些参数。更多信息可以参考项目的官方README文件:https://github.com/JamesIves/github-pages-deploy-action/blob/master/README.md
完成这些配置后,保存YAML文件,当满足工作流触发条件时,JamesIves/github-pages-deploy-action将会自动化处理您的GitHub Pages部署任务。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0241- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
electerm开源终端/ssh/telnet/serialport/RDP/VNC/Spice/sftp/ftp客户端(linux, mac, win)JavaScript00
项目优选
收起
deepin linux kernel
C
27
13
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
633
4.17 K
Ascend Extension for PyTorch
Python
472
570
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
931
838
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.51 K
862
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
384
267
暂无简介
Dart
880
210
昇腾LLM分布式训练框架
Python
138
162
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
123
188
Oohos_react_native
React Native鸿蒙化仓库
JavaScript
327
383