mirror of
https://github.com/handsomezhuzhu/handsomezhuzhu.github.io.git
synced 2026-02-20 20:00:14 +00:00
100 lines
2.1 KiB
YAML
100 lines
2.1 KiB
YAML
name: Deploy Pages
|
||
|
||
# 触发条件,push到main分支或者pull request到main分支
|
||
on:
|
||
push:
|
||
branches: [main]
|
||
pull_request:
|
||
branches: [main]
|
||
|
||
# 支持手动在工作流上触发
|
||
workflow_dispatch:
|
||
|
||
# 设置时区
|
||
env:
|
||
TZ: Asia/Shanghai
|
||
|
||
# 权限设置
|
||
permissions:
|
||
# 允许读取仓库内容的权限。
|
||
contents: read
|
||
# 允许写入 GitHub Pages 的权限。
|
||
pages: write
|
||
# 允许写入 id-token 的权限。
|
||
id-token: write
|
||
|
||
# 并发控制配置
|
||
concurrency:
|
||
group: pages
|
||
cancel-in-progress: false
|
||
|
||
# 定义执行任务
|
||
jobs:
|
||
# 构建任务
|
||
build:
|
||
|
||
runs-on: ubuntu-latest
|
||
|
||
# node v20 运行
|
||
strategy:
|
||
matrix:
|
||
node-version: [20]
|
||
|
||
steps:
|
||
# 拉取代码
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
with:
|
||
# 保留 Git 信息
|
||
fetch-depth: 0
|
||
|
||
# 设置使用 Node.js 版本
|
||
- name: Use Node.js ${{ matrix.node-version }}
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version: ${{ matrix.node-version }}
|
||
|
||
# 使用 最新的 PNPM
|
||
# 你也可以指定为具体的版本
|
||
- uses: pnpm/action-setup@v4
|
||
name: Install pnpm
|
||
with:
|
||
version: latest
|
||
# version: 9
|
||
run_install: false
|
||
|
||
# 安装依赖
|
||
- name: Install dependencies
|
||
run: pnpm install --no-frozen-lockfile
|
||
# 锁定依赖版本
|
||
# run: pnpm install --frozen-lockfile
|
||
|
||
# 构建项目
|
||
- name: Build blog project
|
||
run: |
|
||
echo ${{ github.workspace }}
|
||
pnpm build
|
||
|
||
# 资源拷贝
|
||
- name: Build with Jekyll
|
||
uses: actions/jekyll-build-pages@v1
|
||
with:
|
||
source: ./docs/.vitepress/dist
|
||
destination: ./_site
|
||
|
||
# 上传 _site 的资源,用于后续部署
|
||
- name: Upload artifact
|
||
uses: actions/upload-pages-artifact@v3
|
||
|
||
# 部署任务
|
||
deploy:
|
||
environment:
|
||
name: github-pages
|
||
url: ${{ steps.deployment.outputs.page_url }}
|
||
runs-on: ubuntu-latest
|
||
needs: build
|
||
steps:
|
||
- name: Deploy to GitHub Pages
|
||
id: deployment
|
||
uses: actions/deploy-pages@v4
|