Skip to content

Commit 2235ad9

Browse files
committed
wip
1 parent 4bc57b4 commit 2235ad9

File tree

2 files changed

+132
-0
lines changed

2 files changed

+132
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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

.github/workflows/deploy.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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 }}

0 commit comments

Comments
 (0)