feat(image): 新建knowai-base:1.0.0镜像,已完成推送
- 重命名该分支为knowai-base(原architecture-nuxt3) - 重新定义分支职责,重写README.md BREAKING CHANGE:删除前knowai-nuxt-base:1.0.0镜像,删除原分支CI脚本以及项目文件
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构建配置、插件配置
|
- Node.js LTS(Debian trixie-slim)
|
||||||
- `tsconfig.json` - TypeScript类型检查规则
|
- pnpm(包管理器)
|
||||||
- `package.json` - 核心依赖版本锁定
|
- 系统工具:git、curl、ca-certificates
|
||||||
|
|
||||||
### 2. 全局类型定义
|
## 全局依赖(长期不变部分)
|
||||||
- `types/global.d.ts` - 全局接口、类型定义
|
### 核心框架
|
||||||
- API响应类型规范
|
- nuxt@latest
|
||||||
- 业务数据模型定义
|
- vue@latest
|
||||||
|
- vue-router@latest
|
||||||
|
|
||||||
### 3. 核心工具函数
|
### 状态管理
|
||||||
- `utils/request.ts` - HTTP请求封装
|
- @pinia/nuxt
|
||||||
- `utils/date.ts` - 日期格式化工具
|
- @pinia/plugin-persistedstate
|
||||||
- `utils/validate.ts` - 通用验证函数
|
|
||||||
|
|
||||||
### 4. 样式系统基础
|
### UI组件库
|
||||||
- `assets/scss/variables.scss` - 设计系统变量
|
- @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项目结构
|
- 初始化Nuxt3项目结构
|
||||||
|
|
||||||
|
### 2025-11-4
|
||||||
|
- 删除项目代码以及CI pipeline
|
||||||
|
- 重新构建base镜像1.0.0版本
|
||||||
|
- 重新确定该分支职责
|
||||||
|
|
||||||
---
|
---
|
||||||
*仅负责全局性更新,业务功能在各功能分支独立开发*
|
*仅负责全局性依赖更新,业务功能在各功能分支独立开发,构建独立镜像*
|
||||||
Reference in New Issue
Block a user