fix(Doc): 重新确定分支职责,删除原architecture-nuxt3分支 feat(image):
完成knowai-base:1.0.0的推送,同时上传了对应Dockerfile
This commit is contained in:
69
Dockerfile
Normal file
69
Dockerfile
Normal file
@@ -0,0 +1,69 @@
|
||||
# ------------------------------------------------
|
||||
# 基础镜像:Node LTS(Debian trixie-slim)
|
||||
# ------------------------------------------------
|
||||
FROM node:lts-trixie-slim
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
ENV PNPM_HOME=/pnpm-global
|
||||
ENV PATH=$PNPM_HOME:$PATH
|
||||
ENV SHELL=/bin/sh
|
||||
|
||||
# ------------------------------------------------
|
||||
# 安装 pnpm 并配置国内源
|
||||
# ------------------------------------------------
|
||||
RUN npm install -g pnpm && \
|
||||
pnpm config set registry https://registry.npmmirror.com
|
||||
|
||||
# 在 Dockerfile 里替换源
|
||||
RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian trixie main contrib non-free" > /etc/apt/sources.list && \
|
||||
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security trixie-security main contrib non-free" >> /etc/apt/sources.list && \
|
||||
echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian trixie-updates main contrib non-free" >> /etc/apt/sources.list
|
||||
|
||||
# ------------------------------------------------
|
||||
# 更新系统工具(最小化依赖)
|
||||
# ------------------------------------------------
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git curl ca-certificates && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# ------------------------------------------------
|
||||
# 安装运行时核心依赖(支持 SSR + CSR)
|
||||
# ------------------------------------------------
|
||||
RUN pnpm add -g \
|
||||
nuxt@latest \
|
||||
vue@latest \
|
||||
vue-router@latest \
|
||||
@vueuse/core \
|
||||
@pinia/nuxt \
|
||||
pinia-plugin-persistedstate \
|
||||
@element-plus/nuxt \
|
||||
@element-plus/icons-vue \
|
||||
@nuxtjs/tailwindcss \
|
||||
@nuxt/image \
|
||||
@nuxt/icon \
|
||||
@nuxtjs/color-mode \
|
||||
@nuxtjs/component-cache \
|
||||
axios \
|
||||
node-fetch \
|
||||
socket.io-client \
|
||||
lodash \
|
||||
dayjs \
|
||||
crypto-js
|
||||
|
||||
# ------------------------------------------------
|
||||
# 版本验证
|
||||
# ------------------------------------------------
|
||||
RUN echo "✅ Node 版本:" && node -v && \
|
||||
echo "✅ pnpm 版本:" && pnpm -v && \
|
||||
echo "✅ Nuxt 版本:" && pnpm dlx nuxt --version || true
|
||||
|
||||
# ------------------------------------------------
|
||||
# 默认端口
|
||||
# ------------------------------------------------
|
||||
EXPOSE 3000
|
||||
|
||||
# ------------------------------------------------
|
||||
# 启动方式
|
||||
# ------------------------------------------------
|
||||
CMD ["bash"]
|
||||
92
README.md
92
README.md
@@ -1,29 +1,76 @@
|
||||
# 基础架构分支 - 全局更新管理
|
||||
# Knowai Base 镜像维护文档
|
||||
|
||||
## 分支职责
|
||||
负责项目中所有需要全局同步更新的部分,确保各功能分支技术栈一致性。
|
||||
负责统一 Nuxt 运行环境与框架生态依赖。
|
||||
不包含任何业务代码或配置,仅提供基础依赖环境。
|
||||
|
||||
## 具体负责内容
|
||||
## 镜像标签命名规范
|
||||
- 格式:`gitea.local.knowai/tobegold574/nuxt-base:主版本号.次版本号.修订号`
|
||||
- 示例:`gitea.local.knowai/tobegold574/nuxt-base:1.0.0`
|
||||
- 版本规则:
|
||||
- 主版本号:不兼容的框架或依赖变更
|
||||
- 次版本号:兼容性增强或批量依赖升级
|
||||
- 修订号:小幅依赖更新或新增兼容依赖
|
||||
- `latest` 标签默认指向当前稳定版本(谨慎更新)
|
||||
|
||||
### 1. 配置文件管理
|
||||
- `nuxt.config.ts` - Nuxt构建配置、插件配置
|
||||
- `tsconfig.json` - TypeScript类型检查规则
|
||||
- `package.json` - 核心依赖版本锁定
|
||||
## 基础环境
|
||||
- Node.js LTS(Debian trixie-slim)
|
||||
- pnpm(包管理器)
|
||||
- 系统工具:git、curl、ca-certificates
|
||||
|
||||
### 2. 全局类型定义
|
||||
- `types/global.d.ts` - 全局接口、类型定义
|
||||
- API响应类型规范
|
||||
- 业务数据模型定义
|
||||
## 全局依赖(长期不变部分)
|
||||
### 核心框架
|
||||
- nuxt@latest
|
||||
- vue@latest
|
||||
- vue-router@latest
|
||||
|
||||
### 3. 核心工具函数
|
||||
- `utils/request.ts` - HTTP请求封装
|
||||
- `utils/date.ts` - 日期格式化工具
|
||||
- `utils/validate.ts` - 通用验证函数
|
||||
### 状态管理
|
||||
- @pinia/nuxt
|
||||
- @pinia/plugin-persistedstate
|
||||
|
||||
### 4. 样式系统基础
|
||||
- `assets/scss/variables.scss` - 设计系统变量
|
||||
- 主题配色方案
|
||||
- 响应式断点定义
|
||||
### UI组件库
|
||||
- @element-plus/nuxt
|
||||
- @element-plus/icons-vue
|
||||
|
||||
### 样式与构建
|
||||
- @nuxtjs/tailwindcss
|
||||
- @nuxt/image
|
||||
- @nuxt/icon
|
||||
- @nuxtjs/color-mode
|
||||
- @nuxtjs/component-cache
|
||||
|
||||
### 网络请求
|
||||
- axios
|
||||
- node-fetch
|
||||
- socket.io-client
|
||||
|
||||
### 工具库
|
||||
- @vueuse/core
|
||||
- lodash
|
||||
- dayjs
|
||||
- crypto-js
|
||||
|
||||
## 使用方式
|
||||
其他分支的 Dockerfile:
|
||||
```dockerfile
|
||||
FROM gitea.local.knowai/tobegold574/nuxt-base:1.0.0
|
||||
WORKDIR /usr/src/app
|
||||
# 添加业务代码与依赖
|
||||
```
|
||||
|
||||
### 构建命令
|
||||
`docker build -t gitea.local.knowai/tobegold574/knowai-base:1.0.0 .`
|
||||
`docker push gitea.local.knowai/tobegold574/knowai-base:1.0.0`
|
||||
|
||||
## 镜像分层说明
|
||||
根据"知智镜像分层管理"思想,Base层仅包含:
|
||||
- Node.js 运行环境
|
||||
- 核心框架依赖(Vue、Nuxt、Vue Router)
|
||||
- 基础状态管理(Pinia)
|
||||
- 基础UI组件库(Element Plus)
|
||||
- 常用工具库
|
||||
|
||||
其他依赖(如测试工具、开发工具等)应在各自层中按需添加,避免Base镜像臃肿。
|
||||
|
||||
## 更新记录
|
||||
|
||||
@@ -31,5 +78,10 @@
|
||||
- 创建基础架构分支
|
||||
- 初始化Nuxt3项目结构
|
||||
|
||||
### 2025-11-4
|
||||
- 删除项目代码以及CI pipeline
|
||||
- 重新构建base镜像1.0.0版本
|
||||
- 重新确定该分支职责
|
||||
|
||||
---
|
||||
*仅负责全局性更新,业务功能在各功能分支独立开发*
|
||||
*仅负责全局性依赖更新,业务功能在各功能分支独立开发,构建独立镜像*
|
||||
Reference in New Issue
Block a user