瀏覽代碼

feat(components): drone update

Yi 3 周之前
父節點
當前提交
791c9675a3

+ 2 - 2
.dockerignore

@@ -1,6 +1,6 @@
 node_modules
 .DS_Store
-.npmrc
+#.npmrc
 .cache
 
 tests/server/static
@@ -27,5 +27,5 @@ pnpm-debug.log*
 *.sln
 *.sw?
 yarn.lock
-pnpm-lock.yaml
+#pnpm-lock.yaml
 /vite-profile.cpuprofile

+ 13 - 12
.drone.yml

@@ -20,17 +20,17 @@ steps:
       repo: registry.cn-hangzhou.aliyuncs.com/kpt-event/kpt-system-web
       registry: registry.cn-hangzhou.aliyuncs.com
       tags: [test]
-  - name: ssh commands
-    image: appleboy/drone-ssh
-    settings:
-      host: 192.168.1.70
-      username: tmrwatch
-      password:
-        from_secret: ssh_password
-      port: 22
-      script:
-        - cd /data/docker-compose/kpt-system-web/
-        - echo "123456" | ./restart.sh
+  #- name: ssh commands
+  #  image: appleboy/drone-ssh
+  #  settings:
+  #    host: 192.168.1.70
+  #    username: tmrwatch
+  #    password:
+  #      from_secret: ssh_password
+  #    port: 22
+  #    script:
+  #      - cd /data/docker-compose/kpt-system-web/
+  #      - echo "123456" | ./restart.sh
 trigger:
   branch:
     include:
@@ -68,11 +68,12 @@ steps:
       registry: registry.cn-hangzhou.aliyuncs.com
       tag:
         - latest
-        - ${DRONE_BRANCH##release/}
+        #- ${DRONE_BRANCH##release/}
 trigger:
   branch:
     include:
       - release/*
+      -  master
   event:
     include:
       - push

+ 41 - 13
Dockerfile

@@ -1,17 +1,45 @@
-FROM node:18.12-alpine as build
+FROM node:18-slim AS build
+
+# 设置工作目录和环境变量
 WORKDIR /app/kpt-system-web
 ENV NODE_OPTIONS="--max-old-space-size=4096"
+ENV PNPM_HOME=/usr/local/bin
+ENV VITE_USER_NODE_ENV=production
+
+# 安装系统依赖(改用 slim 镜像避免 Alpine 兼容性问题)
+RUN apt-get update && \
+    apt-get install -y git python3 make g++ jq && \
+    rm -rf /var/lib/apt/lists/*
+
+# 使用 Corepack 管理 PNPM
+RUN corepack enable && \
+    corepack prepare pnpm@latest --activate
+
+# 复制包管理文件(利用缓存层)
+COPY package.json pnpm-lock.yaml .npmrc ./
+COPY patches ./patches
+
+# 关键步骤:替换问题插件并更新核心依赖
+RUN pnpm install --shamefully-hoist && \
+    pnpm remove vite-plugin-mock && \
+    pnpm add mockjs vite-plugin-mock@latest -D && \
+    pnpm update vite @antfu/install-pkg @iconify/utils --latest
+
+# 复制剩余文件
 COPY . .
-RUN mkdir -p /root/.local/share/pnpm/store/v3/files && chown -R $(whoami) /root/.local/share/pnpm/store/v3/
-RUN npm install -g pnpm && npm install -g typescript@5.1.6
-RUN echo "declare module 'lodash-es';" > types.d.ts
-RUN pnpm config set registry https://registry.npmmirror.com
-RUN pnpm update vue-demi@latest
-RUN pnpm install --fetch-timeout 60000
-RUN pnpm build 
-
-FROM nginx:alpine as prod
-WORKDIR /app/kpt-system-web
-COPY --from=build /app/kpt-system-web/dist/ /usr/share/nginx/html/
+
+# 确保 ESM 配置
+RUN echo '{"type": "module"}' > package.json.tmp && \
+    jq -s '.[0] * .[1]' package.json package.json.tmp > package.json.new && \
+    mv package.json.new package.json && \
+    rm package.json.tmp && \
+    echo "declare module 'lodash-es';" > types.d.ts
+
+# 构建
+RUN pnpm build
+
+# 生产阶段
+FROM nginx:alpine AS prod
+COPY --from=build /app/kpt-system-web/dist /usr/share/nginx/html
 COPY --from=build /app/kpt-system-web/nginx.conf /etc/nginx/conf.d/default.conf
-EXPOSE 80
+EXPOSE 80

+ 2 - 0
build/plugins/mock.ts

@@ -2,6 +2,8 @@ import { viteMockServe } from 'vite-plugin-mock';
 
 export default viteMockServe({
   mockPath: 'mock',
+  localEnabled: true,
+  prodEnabled: false,
   injectCode: `
 		import { setupMockServer } from '../mock';
 		setupMockServer();

文件差異過大導致無法顯示
+ 697 - 785
pnpm-lock.yaml


+ 1 - 1
src/service/request/index.ts

@@ -12,7 +12,7 @@ export const request = createRequest({
 export const mockRequest = createRequest({ baseURL: '/mock' });
 
 export const backgroundRequest = createRequest({
-  baseURL: 'http://122.114.177.195:8085/api/v1'
+  baseURL: 'http://210.16.186.252:8000/api/v1'
 });
 /* export const backgroundRequest = createRequest({ baseURL: 'http://192.168.1.96:8000/api/v1' });
  */

+ 1 - 0
src/views/background/event/components/table-condition-modal.vue

@@ -124,6 +124,7 @@ interface Emits {
 
 const emit = defineEmits<Emits>();
 
+// eslint-disable-next-line vue/no-dupe-keys
 const conditionVisible = computed({
   get() {
     return props.conditionVisible;

+ 2 - 0
src/views/background/event/components/table-setting-modal.vue

@@ -208,6 +208,7 @@ const props = withDefaults(defineProps<Props>(), {
   editData: null
 });
 
+// eslint-disable-next-line vue/no-dupe-keys
 const settingVisible = computed({
   get() {
     return props.settingVisible;
@@ -243,6 +244,7 @@ function deleteData(row: RowField.Data) {
   console.log('==index=====', row);
 }
 
+// eslint-disable-next-line vue/no-dupe-keys
 function editData(row: RowField.Data) {
   console.log('==index=====', row);
 }

部分文件因文件數量過多而無法顯示