使用JamesIves/github-pages-deploy-action自动部署到GitHub Pages指南
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部署任务。