File tree Expand file tree Collapse file tree 2 files changed +132
-0
lines changed
Expand file tree Collapse file tree 2 files changed +132
-0
lines changed Original file line number Diff line number Diff line change 1+ name : 简化版部署到阿里云 OSS
2+
3+ on :
4+ push :
5+ branches : [main]
6+
7+ jobs :
8+ deploy :
9+ runs-on : ubuntu-latest
10+
11+ steps :
12+ - uses : actions/checkout@v4
13+
14+ - name : 设置 Node.js
15+ uses : actions/setup-node@v4
16+ with :
17+ node-version : " 18"
18+
19+ - name : 安装 pnpm
20+ uses : pnpm/action-setup@v4
21+ with :
22+ version : latest
23+
24+ - name : 安装依赖并构建
25+ run : |
26+ pnpm install
27+ pnpm run build
28+
29+ - name : 部署到阿里云 OSS
30+ uses : fangbinwei/aliyun-oss-website-action@v1
31+ with :
32+ accessKeyId : ${{ secrets.OSS_ACCESS_KEY_ID }}
33+ accessKeySecret : ${{ secrets.OSS_ACCESS_KEY_SECRET }}
34+ bucket : ${{ secrets.OSS_BUCKET_NAME }}
35+ endpoint : ${{ secrets.OSS_ENDPOINT }}
36+ folder : .vitepress/dist
Original file line number Diff line number Diff line change 1+ name : 构建并部署到阿里云 OSS
2+
3+ on :
4+ push :
5+ branches : [main]
6+ pull_request :
7+ branches : [main]
8+
9+ jobs :
10+ build-and-deploy :
11+ runs-on : ubuntu-latest
12+
13+ steps :
14+ - name : 检出代码
15+ uses : actions/checkout@v4
16+ with :
17+ fetch-depth : 0
18+
19+ - name : 设置 Node.js
20+ uses : actions/setup-node@v4
21+ with :
22+ node-version : " 18"
23+ cache : " npm"
24+
25+ - name : 安装 pnpm
26+ uses : pnpm/action-setup@v4
27+ with :
28+ version : latest
29+
30+ - name : 安装依赖
31+ run : pnpm install --frozen-lockfile
32+
33+ - name : 构建文档
34+ run : pnpm run build
35+
36+ - name : 安装阿里云 OSS CLI
37+ run : |
38+ wget https://gosspublic.alicdn.com/ossutil/1.7.19/ossutil64
39+ chmod +x ossutil64
40+ sudo mv ossutil64 /usr/local/bin/ossutil
41+
42+ - name : 配置 OSS CLI
43+ run : |
44+ ossutil config -i ${{ secrets.ALICLOUDOSS_KEY_ID }} -k ${{ secrets.ALICLOUDOSS_KEY_SECRET }}
45+ env :
46+ OSS_ENDPOINT : ${{ secrets.OSS_ENDPOINT }}
47+ OSS_ACCESS_KEY_ID : ${{ secrets.ALICLOUDOSS_KEY_ID }}
48+ OSS_ACCESS_KEY_SECRET : ${{ secrets.ALICLOUDOSS_KEY_SECRET }}
49+
50+ - name : 部署到 OSS
51+ run : |
52+ # 上传构建文件到 OSS,删除远程多余文件,设置缓存策略
53+ ossutil sync .vitepress/dist/ oss://${{ secrets.OSS_BUCKET_NAME }}/ \
54+ --delete \
55+ --force \
56+ --update \
57+ --meta Cache-Control:max-age=31536000 \
58+ --include "*.js" \
59+ --include "*.css" \
60+ --include "*.png" \
61+ --include "*.jpg" \
62+ --include "*.gif" \
63+ --include "*.svg" \
64+ --include "*.ico" \
65+ --include "*.woff" \
66+ --include "*.woff2" \
67+ --include "*.ttf" \
68+ --include "*.eot"
69+
70+ # HTML 文件设置较短的缓存时间
71+ ossutil sync .vitepress/dist/ oss://${{ secrets.OSS_BUCKET_NAME }}/ \
72+ --delete \
73+ --force \
74+ --update \
75+ --meta Cache-Control:max-age=3600 \
76+ --include "*.html"
77+
78+ # 其他文件不设置缓存
79+ ossutil sync .vitepress/dist/ oss://${{ secrets.OSS_BUCKET_NAME }}/ \
80+ --delete \
81+ --force \
82+ --update \
83+ --exclude "*.js" \
84+ --exclude "*.css" \
85+ --exclude "*.png" \
86+ --exclude "*.jpg" \
87+ --exclude "*.gif" \
88+ --exclude "*.svg" \
89+ --exclude "*.ico" \
90+ --exclude "*.woff" \
91+ --exclude "*.woff2" \
92+ --exclude "*.ttf" \
93+ --exclude "*.eot" \
94+ --exclude "*.html"
95+ env :
96+ OSS_BUCKET_NAME : ${{ secrets.OSS_BUCKET_NAME }}
You can’t perform that action at this time.
0 commit comments