-
Notifications
You must be signed in to change notification settings - Fork 0
108 lines (87 loc) · 3.74 KB
/
use-vercel-cli-build-try-4.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# 参考资料
# https://vercel.com/guides/how-can-i-use-github-actions-with-vercel
# https://vercel.com/guides/how-to-alias-a-preview-deployment-using-the-cli
name: 基于vercel命令的部署
env:
# vercel的token
vct: ${{ secrets.vercel_token }}
# 从教程内得知 环境变量名称必须大写
VERCEL_ORG_ID: ${{ secrets.vercel_orgId }}
VERCEL_PROJECT_ID: ${{ secrets.vercel_projectId }}
# vercel项目名称
pjn: vercel-monorepo-test-1-zn20
# 项目路径
p1: ./packages/monorepo-1
p2: ./packages/proj-2-vp2-custom-components
p3: ./packages/monorepo-3
p4: ./packages/monorepo-4
p5: ./packages/monorepo-5
# 项目url
p1-url: monorepo-1.ruancat6312.top
p2-url: monorepo-2.ruancat6312.top
p3-url: monorepo-3.ruancat6312.top
p4-url: monorepo-4.ruancat6312.top
p5-url: monorepo-5.ruancat6312.top
on:
push:
branches:
- dev
jobs:
Deploy-Production:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: 开启 corepack
run: corepack enable && corepack install
- name: 检查pnpm版本
run: pnpm -v
- name: 安装整个项目的依赖
run: pnpm i
- name: 用npm安装vercel cli工具
run: npm i -g vercel@latest
- name: 检查vercel cli版本
run: vc -v
- name: 各子项目连接现有的vercel项目
# 本地window使用
# run: vc link --yes --cwd=./packages/monorepo-3 --project=vercel-monorepo-test-1-zn20
run: |
vc link --yes --cwd=${{env.p1}} --project=${{env.pjn}} -t ${{env.vct}}
vc link --yes --cwd=${{env.p2}} --project=${{env.pjn}} -t ${{env.vct}}
vc link --yes --cwd=${{env.p3}} --project=${{env.pjn}} -t ${{env.vct}}
vc link --yes --cwd=${{env.p4}} --project=${{env.pjn}} -t ${{env.vct}}
vc link --yes --cwd=${{env.p5}} --project=${{env.pjn}} -t ${{env.vct}}
- name: vercel生成特定.vercel/output/static目录
# build命令仍然需要用token来运行。
# run: vc build --yes --prod --cwd=./packages/monorepo-3 -A ./vercel.null.json
run: |
vc build --yes --prod --cwd=${{env.p1}} -A ./vercel.null.json -t ${{env.vct}}
vc build --yes --prod --cwd=${{env.p2}} -A ./vercel.null.json -t ${{env.vct}}
vc build --yes --prod --cwd=${{env.p3}} -A ./vercel.null.json -t ${{env.vct}}
vc build --yes --prod --cwd=${{env.p4}} -A ./vercel.null.json -t ${{env.vct}}
vc build --yes --prod --cwd=${{env.p5}} -A ./vercel.null.json -t ${{env.vct}}
- name: turbo并发打包全部子项目
run: pnpm run on-github-action-flow
# - name: 各子项目上传文件并部署到vercel内
# run: |
# url-1="$(vc deploy --yes --prebuilt --prod --cwd=${{env.p1}} -t ${{env.vct}})"
# vc alias -t ${{env.vct}} set "$url-1" ${{env.p1-url}}
- name: 1
run: |
url-1="$(vc deploy --yes --prebuilt --prod --cwd=${{env.p1}} -t ${{env.vct}})"
vc alias -t ${{env.vct}} set "$url-1" ${{env.p1-url}}
- name: 2
run: |
url-2="$(vc deploy --yes --prebuilt --prod --cwd=${{env.p2}} -t ${{env.vct}})"
vc alias -t ${{env.vct}} set "$url-2" ${{env.p2-url}}
- name: 3
run: |
url-3="$(vc deploy --yes --prebuilt --prod --cwd=${{env.p3}} -t ${{env.vct}})"
vc alias -t ${{env.vct}} set "$url-3" ${{env.p3-url}}
- name: 4
run: |
url-4="$(vc deploy --yes --prebuilt --prod --cwd=${{env.p4}} -t ${{env.vct}})"
vc alias -t ${{env.vct}} set "$url-4" ${{env.p4-url}}
- name: 5
run: |
url-5="$(vc deploy --yes --prebuilt --prod --cwd=${{env.p5}} -t ${{env.vct}})"
vc alias -t ${{env.vct}} set "$url-5" ${{env.p5-url}}