@dazhicheng/common 1.0.38 → 1.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitlab-ci.yml +59 -12
- package/package.json +1 -1
package/.gitlab-ci.yml
CHANGED
|
@@ -5,6 +5,10 @@ stages:
|
|
|
5
5
|
|
|
6
6
|
variables:
|
|
7
7
|
DOCKER_BUILDKIT: 1
|
|
8
|
+
# 加速 cache / artifact 压缩
|
|
9
|
+
FF_USE_FASTZIP: "true"
|
|
10
|
+
# 装 pnpm 走国内镜像,避免 npm 官方源拖慢(上次约 49s)
|
|
11
|
+
npm_config_registry: https://registry.npmmirror.com
|
|
8
12
|
|
|
9
13
|
# 构建锚点 ----------------------------------------------------------------
|
|
10
14
|
.build_template: &build_template
|
|
@@ -12,12 +16,22 @@ variables:
|
|
|
12
16
|
image: node:24
|
|
13
17
|
tags:
|
|
14
18
|
- build
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
cache:
|
|
20
|
+
key:
|
|
21
|
+
files:
|
|
22
|
+
- pnpm-lock.yaml
|
|
23
|
+
paths:
|
|
24
|
+
- .pnpm-store
|
|
25
|
+
policy: pull-push
|
|
26
|
+
before_script:
|
|
27
|
+
# corepack 启用最新 pnpm,比 npm install -g 快很多
|
|
28
|
+
- corepack enable
|
|
29
|
+
- corepack prepare pnpm@latest --activate
|
|
30
|
+
- pnpm config set store-dir .pnpm-store
|
|
17
31
|
- pnpm config set registry https://registry.npmmirror.com
|
|
18
32
|
- pnpm config set @dazhicheng:registry https://registry.npmjs.org
|
|
33
|
+
script:
|
|
19
34
|
- pnpm install --no-frozen-lockfile
|
|
20
|
-
- pnpm up:dzc
|
|
21
35
|
- pnpm "build:${NODE_ENV}"
|
|
22
36
|
artifacts:
|
|
23
37
|
paths:
|
|
@@ -27,13 +41,38 @@ variables:
|
|
|
27
41
|
- Dockerfile
|
|
28
42
|
expire_in: 1 day
|
|
29
43
|
|
|
44
|
+
# develop:一次 install + 一次类型检查,再分别 vite 出两套产物
|
|
45
|
+
.build_develop_template: &build_develop_template
|
|
46
|
+
<<: *build_template
|
|
47
|
+
script:
|
|
48
|
+
- pnpm install --no-frozen-lockfile
|
|
49
|
+
- pnpm exec vue-tsc --noEmit
|
|
50
|
+
- pnpm exec vite build --mode dev
|
|
51
|
+
- mv dist dist-dev
|
|
52
|
+
- pnpm exec vite build --mode test
|
|
53
|
+
- mv dist dist-test
|
|
54
|
+
artifacts:
|
|
55
|
+
paths:
|
|
56
|
+
- dist-dev/
|
|
57
|
+
- dist-test/
|
|
58
|
+
- nginx_*.conf
|
|
59
|
+
- docker-entrypoint.sh
|
|
60
|
+
- Dockerfile
|
|
61
|
+
expire_in: 1 day
|
|
62
|
+
|
|
30
63
|
# 部署锚点(通用脚本直接写在这里,不需要项目覆盖) -------------------------
|
|
31
64
|
# 使用 named volume 持久化静态资源:发版时合并新构建并保留旧 hashed 文件,
|
|
32
65
|
# 使已打开的旧页面仍能懒加载到旧入口资源。
|
|
66
|
+
# 若存在 dist-${NODE_ENV}(develop 双构建产物),先还原为 dist/ 再 docker build。
|
|
33
67
|
.deploy_template: &deploy_template
|
|
34
68
|
stage: deploy
|
|
35
69
|
image: docker:26.1.4
|
|
36
70
|
script:
|
|
71
|
+
- |
|
|
72
|
+
if [ -d "dist-${NODE_ENV}" ]; then
|
|
73
|
+
rm -rf dist
|
|
74
|
+
mv "dist-${NODE_ENV}" dist
|
|
75
|
+
fi
|
|
37
76
|
- docker volume create ${IMAGE_NAME}-assets || true
|
|
38
77
|
- docker build --build-arg NODE_ENV=$NODE_ENV -t $IMAGE_NAME:latest .
|
|
39
78
|
- docker stop $IMAGE_NAME || true
|
|
@@ -66,13 +105,13 @@ MR 构建验证:
|
|
|
66
105
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "test" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "release" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "sit")
|
|
67
106
|
|
|
68
107
|
# 项目级 deploy jobs 注入点 ------------------------------------------------
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
NODE_ENV: dev
|
|
108
|
+
# develop:新 job 一次装依赖,编出两套产物
|
|
109
|
+
构建_develop:
|
|
110
|
+
<<: *build_develop_template
|
|
111
|
+
resource_group: build-develop
|
|
74
112
|
only: [develop]
|
|
75
113
|
|
|
114
|
+
# test 分支:单环境构建(产物为 dist/)
|
|
76
115
|
构建_test:
|
|
77
116
|
<<: *build_template
|
|
78
117
|
resource_group: build-test
|
|
@@ -82,7 +121,7 @@ MR 构建验证:
|
|
|
82
121
|
|
|
83
122
|
开发环境发版:
|
|
84
123
|
<<: *deploy_template
|
|
85
|
-
needs: [构建
|
|
124
|
+
needs: [构建_develop]
|
|
86
125
|
tags: [develop]
|
|
87
126
|
resource_group: deploy-develop
|
|
88
127
|
variables:
|
|
@@ -92,7 +131,7 @@ MR 构建验证:
|
|
|
92
131
|
|
|
93
132
|
# 开发环境发版_107:
|
|
94
133
|
# <<: *deploy_template
|
|
95
|
-
# needs: [构建
|
|
134
|
+
# needs: [构建_develop]
|
|
96
135
|
# tags: [develop_107]
|
|
97
136
|
# resource_group: deploy-develop_107
|
|
98
137
|
# variables:
|
|
@@ -102,7 +141,11 @@ MR 构建验证:
|
|
|
102
141
|
|
|
103
142
|
测试环境发版:
|
|
104
143
|
<<: *deploy_template
|
|
105
|
-
needs:
|
|
144
|
+
needs:
|
|
145
|
+
- job: 构建_develop
|
|
146
|
+
optional: true
|
|
147
|
+
- job: 构建_test
|
|
148
|
+
optional: true
|
|
106
149
|
tags: [test]
|
|
107
150
|
resource_group: deploy-test
|
|
108
151
|
variables:
|
|
@@ -112,7 +155,11 @@ MR 构建验证:
|
|
|
112
155
|
|
|
113
156
|
# 测试环境发版_107:
|
|
114
157
|
# <<: *deploy_template
|
|
115
|
-
# needs:
|
|
158
|
+
# needs:
|
|
159
|
+
# - job: 构建_develop
|
|
160
|
+
# optional: true
|
|
161
|
+
# - job: 构建_test
|
|
162
|
+
# optional: true
|
|
116
163
|
# tags: [test_107]
|
|
117
164
|
# resource_group: deploy-test_107
|
|
118
165
|
# variables:
|