@dazhicheng/common 1.0.14 → 1.0.16

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 CHANGED
@@ -1,74 +1,101 @@
1
1
  stages:
2
+ - build
2
3
  - MR_TEST
3
- - develop
4
- - test
5
- - sit
4
+ - deploy
6
5
 
7
6
  variables:
8
7
  DOCKER_BUILDKIT: 1
9
8
 
10
- MR 构建测试:
9
+ # 构建锚点 ----------------------------------------------------------------
10
+ .build_template: &build_template
11
+ stage: build
12
+ image: node:20-alpine
13
+ script:
14
+ - npm install -g pnpm
15
+ - pnpm install
16
+ - pnpm up:dzc
17
+ - pnpm "build:${NODE_ENV}"
18
+ artifacts:
19
+ paths:
20
+ - dist/
21
+ expire_in: 1 day
22
+
23
+ # 部署锚点(通用脚本直接写在这里,不需要项目覆盖) -------------------------
24
+ .deploy_template: &deploy_template
25
+ stage: deploy
26
+ image: docker:20.10.20
27
+ script:
28
+ - docker build --build-arg NODE_ENV=$NODE_ENV -t $IMAGE_NAME:latest .
29
+ - docker stop $IMAGE_NAME || true
30
+ - docker rm $IMAGE_NAME || true
31
+ - docker run -d --name $IMAGE_NAME --restart always -p $HOST_PORT:$CONTAINER_PORT $IMAGE_NAME:latest
32
+ - docker image prune -f || true
33
+
34
+ # MR 验证 -----------------------------------------------------------------
35
+ MR 构建验证:
11
36
  stage: MR_TEST
12
37
  image: docker:20.10.20
13
38
  tags:
14
39
  - MR_TEST
40
+ needs: [构建_dev]
15
41
  script:
16
- # 构建镜像(不部署)
17
- - docker build --build-arg NODE_ENV=dev --no-cache -t a-fulfillment-mr-test:mr-$CI_MERGE_REQUEST_IID .
18
- # 验证镜像构建成功
19
- - docker images | grep a-fulfillment-mr-test
42
+ - docker build --build-arg NODE_ENV=dev -t mr-test:mr-$CI_MERGE_REQUEST_IID .
43
+ - docker images | grep mr-test
20
44
  rules:
21
45
  - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"
22
46
 
47
+ # 项目级 deploy jobs 注入点 ------------------------------------------------
48
+ 构建_dev:
49
+ <<: *build_template
50
+ variables:
51
+ NODE_ENV: dev
52
+ rules:
53
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"
54
+ - if: $CI_COMMIT_BRANCH == "develop"
55
+
56
+ 构建_test:
57
+ <<: *build_template
58
+ variables:
59
+ NODE_ENV: test
60
+ only: [test]
61
+
23
62
  开发环境发版:
24
- stage: develop
25
- image: docker:20.10.20
26
- tags:
27
- - develop
28
- resource_group: deploy-develop # 重点
29
- script:
30
- <<<script_开发环境发版>>>
31
- # 清理悬空镜像
32
- - docker image prune -f || true
33
- only:
34
- - develop
63
+ <<: *deploy_template
64
+ needs: [构建_dev]
65
+ tags: [develop]
66
+ resource_group: deploy-develop
67
+ variables:
68
+ NODE_ENV: dev
69
+ <<<开发环境发版>>>
70
+ only: [develop]
35
71
 
36
72
  开发环境发版_107:
37
- stage: develop
38
- image: docker:20.10.20
39
- tags:
40
- - develop_107
41
- resource_group: deploy-develop_107 # 重点
42
- script:
43
- <<<script_开发环境发版_107>>>
44
- # 清理悬空镜像
45
- - docker image prune -f || true
46
- only:
47
- - develop
73
+ <<: *deploy_template
74
+ needs: [构建_dev]
75
+ tags: [develop_107]
76
+ resource_group: deploy-develop_107
77
+ variables:
78
+ NODE_ENV: dev
79
+ <<<开发环境发版_107>>>
80
+ only: [develop]
48
81
 
49
- # 测试环境 -----------------------------------------------------------------------------------------------
50
82
  测试环境发版:
51
- stage: test
52
- image: docker:20.10.20
53
- tags:
54
- - test
55
- resource_group: deploy-test # 重点
56
- script:
57
- <<<script_测试环境发版>>>
58
- # 清理悬空镜像
59
- - docker image prune -f || true
60
- only:
61
- - test
83
+ <<: *deploy_template
84
+ needs: [构建_test]
85
+ tags: [test]
86
+ resource_group: deploy-test
87
+ variables:
88
+ NODE_ENV: test
89
+ <<<测试环境发版>>>
90
+ only: [test]
62
91
 
63
92
  测试环境发版_107:
64
- stage: test
65
- image: docker:20.10.20
66
- tags:
67
- - test_107
68
- resource_group: deploy-test_107 # 重点
69
- script:
70
- <<<script_测试环境发版_107>>>
71
- # 清理悬空镜像
72
- - docker image prune -f || true
73
- only:
74
- - test
93
+ <<: *deploy_template
94
+ needs: [构建_test]
95
+ tags: [test_107]
96
+ resource_group: deploy-test_107
97
+ variables:
98
+ NODE_ENV: test
99
+ <<<测试环境发版_107>>>
100
+ only: [test]
101
+ <<<deploy_jobs>>>
package/Dockerfile CHANGED
@@ -1,33 +1,6 @@
1
- # 阶段 1:构建前端项目
2
- FROM node:24-alpine AS builder
3
-
4
- WORKDIR /app
5
-
6
- # 安装 pnpm 并配置镜像源
7
- RUN npm install -g pnpm && \
8
- pnpm config set registry https://registry.npmmirror.com
9
-
10
- ARG NODE_ENV=dev
11
-
12
- # 先复制依赖文件并安装依赖
13
- COPY . .
14
- # COPY package*.json pnpm-lock.yaml* pnpm-workspace.yaml ./
15
- # COPY scripts/sync-common.mjs ./scripts/
16
- RUN pnpm install
17
-
18
- # 再复制全部源代码,进行构建
19
- RUN pnpm "build:${NODE_ENV}"
20
-
21
- # 阶段 2:部署到 Nginx
22
- FROM nginx:stable-alpine
23
-
24
- ARG NODE_ENV=dev
25
-
26
- # 复制 Nginx 配置
27
- COPY --from=builder /app/nginx_${NODE_ENV}.conf /etc/nginx/conf.d/default.conf
28
-
29
- # 复制构建产物
30
- COPY --from=builder /app/dist /usr/share/nginx/html
31
-
32
- # 启动 Nginx
1
+
2
+ FROM nginx:stable-alpine
3
+ ARG NODE_ENV=dev
4
+ COPY "nginx_${NODE_ENV}.conf" /etc/nginx/conf.d/default.conf
5
+ COPY dist/ /usr/share/nginx/html
33
6
  CMD ["nginx", "-g", "daemon off;"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dazhicheng/common",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "共享配置文件",
5
5
  "type": "module",
6
6
  "types": "./src/types/index.d.ts",