56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
name: Deploy to Pages Branch
|
|
|
|
on:
|
|
# 每次推送到 `main` 分支时触发这个"工作流程"
|
|
# 如果你使用了别的分支名,请按需将 `main` 替换成你的分支名
|
|
push:
|
|
branches: [ main ]
|
|
# 允许你在 GitHub 上的 Actions 标签中手动触发此"工作流程"
|
|
workflow_dispatch:
|
|
|
|
# 需要写入权限来推送到pages分支
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout your repository using git
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true # 支持 Git Submodule 模式
|
|
token: ${{ secrets.GITHUB_TOKEN }} # 自动访问同账号下的私有仓库
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 9.14.4
|
|
run_install: false
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --no-frozen-lockfile
|
|
|
|
- name: Build site
|
|
run: pnpm run build
|
|
env:
|
|
# 如果需要启用内容分离,取消以下注释并配置
|
|
# ENABLE_CONTENT_SYNC: true
|
|
# CONTENT_REPO_URL: ${{ secrets.CONTENT_REPO_URL }}
|
|
# USE_SUBMODULE: true
|
|
|
|
# 其他环境变量
|
|
UMAMI_API_KEY: ${{ secrets.UMAMI_API_KEY }}
|
|
|
|
- name: Deploy to pages branch
|
|
uses: JamesIves/github-pages-deploy-action@v4
|
|
with:
|
|
branch: pages # 部署到pages分支
|
|
folder: dist # Astro默认构建输出目录
|
|
clean: true # 清理目标分支中的旧文件
|