Skip to content

Commit 6027c27

Browse files
committed
🔨 Add github page deploy
1 parent 7099879 commit 6027c27

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

.github/workflows/deploy-docs.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# 构建 VitePress 站点并将其部署到 GitHub Pages 的工作流程
2+
#
3+
name: Deploy VitePress Docs to Pages
4+
5+
on:
6+
# 在针对 `develop` 分支的推送上运行
7+
push:
8+
branches: [develop]
9+
# 只有当doc目录下的文件发生变化时才触发
10+
paths:
11+
- 'doc/**'
12+
13+
# 允许从 Actions 选项卡手动运行此工作流程
14+
workflow_dispatch:
15+
16+
# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages
17+
permissions:
18+
contents: read
19+
pages: write
20+
id-token: write
21+
22+
# 只允许同时进行一次部署,跳过正在运行和最新队列之间的运行队列
23+
# 但是,不要取消正在进行的运行,因为我们希望允许这些生产部署完成
24+
concurrency:
25+
group: pages
26+
cancel-in-progress: false
27+
28+
jobs:
29+
# 构建工作
30+
build:
31+
runs-on: ubuntu-latest
32+
defaults:
33+
run:
34+
working-directory: ./doc
35+
steps:
36+
- name: Checkout
37+
uses: actions/checkout@v4
38+
with:
39+
fetch-depth: 0 # 如果未启用 lastUpdated,则不需要
40+
41+
- name: Setup Node
42+
uses: actions/setup-node@v4
43+
with:
44+
node-version: 20
45+
cache: npm
46+
cache-dependency-path: ./doc/package-lock.json
47+
48+
- name: Setup Pages
49+
uses: actions/configure-pages@v4
50+
51+
- name: Install dependencies
52+
run: npm ci
53+
54+
- name: Temporarily modify base path for GitHub Pages
55+
run: |
56+
# 创建一个临时的config文件,将base从'/doc/'改为'/nexent/'用于GitHub Pages
57+
sed 's|base: '"'"'/doc/'"'"'|base: '"'"'/nexent/'"'"'|g' docs/.vitepress/config.mts > docs/.vitepress/config.github.mts
58+
mv docs/.vitepress/config.mts docs/.vitepress/config.original.mts
59+
mv docs/.vitepress/config.github.mts docs/.vitepress/config.mts
60+
61+
- name: Build with VitePress
62+
run: npm run docs:build
63+
64+
- name: Restore original config
65+
run: |
66+
mv docs/.vitepress/config.original.mts docs/.vitepress/config.mts
67+
68+
- name: Upload artifact
69+
uses: actions/upload-pages-artifact@v3
70+
with:
71+
path: doc/docs/.vitepress/dist
72+
73+
# 部署工作
74+
deploy:
75+
environment:
76+
name: github-pages
77+
url: ${{ steps.deployment.outputs.page_url }}
78+
needs: build
79+
runs-on: ubuntu-latest
80+
name: Deploy
81+
steps:
82+
- name: Deploy to GitHub Pages
83+
id: deployment
84+
uses: actions/deploy-pages@v4

0 commit comments

Comments
 (0)