installerbuilder/tasks/task01-项目初始化.md

3.0 KiB
Raw Blame History

任务01项目初始化

任务描述

初始化Installer Builder项目设置基本的项目结构、依赖管理和构建系统。这是整个项目的基础将为后续任务提供必要的框架和环境。

实现步骤

  1. 创建项目基本目录结构:

    • 按照规范创建以下目录:
      /
      ├── cmd/                # 命令行入口点
      │   └── cli/            # CLI应用
      ├── internal/           # 内部包,不对外暴露
      │   ├── config/         # 配置处理
      │   ├── builder/        # 构建引擎
      │   ├── platform/       # 平台适配
      │   ├── packager/       # 包类型构建器
      │   ├── script/         # 脚本执行
      │   └── plugin/         # 插件系统
      ├── pkg/                # 可导出的包
      │   ├── api/            # 公共API
      │   └── schema/         # 配置Schema
      ├── plugins/            # 插件目录
      ├── examples/           # 示例配置和项目
      ├── scripts/            # 构建和开发脚本
      └── test/               # 测试辅助工具和数据
      
  2. 初始化Go模块

    • 创建go.mod文件定义模块路径和Go版本,模块名定义为git.kingecg.top/kingecg/installerbuilder
    • 初始化go.sum文件
  3. 设置基本依赖:

    • 添加必要的第三方库依赖
    • 确保依赖版本明确指定
  4. 创建基础文档:

    • 创建README.md,包含项目概述、安装说明和基本用法
    • 创建CONTRIBUTING.md,说明贡献指南
    • 创建LICENSE文件
  5. 设置构建系统:

    • 创建Makefile或构建脚本支持常见操作
      • build: 构建项目
      • test: 运行测试
      • lint: 代码质量检查
      • clean: 清理构建产物
  6. 配置CI/CD

    • 设置GitHub Actions或其他CI系统配置
    • 配置自动测试、构建和发布流程
  7. 创建主程序入口:

    • cmd/cli中创建基本的命令行应用入口
    • 实现版本信息和基本帮助命令

单元测试要求

  1. 测试项目结构完整性:

    • 验证所有必要的目录和文件是否存在
    • 确保目录权限正确
  2. 测试Go模块配置

    • 验证go.mod文件格式正确
    • 确保依赖可以正确解析
  3. 测试构建系统:

    • 验证构建脚本能正确执行
    • 测试各种构建目标是否正常工作
  4. 测试主程序入口:

    • 验证命令行应用能正确启动
    • 测试版本信息和帮助命令输出

依赖关系

  • 此任务是项目的第一个任务,没有前置依赖
  • 后续所有任务都依赖于此任务的完成

完成标准

  1. 所有指定的目录结构已创建
  2. Go模块已正确初始化
  3. 基本依赖已添加并可正常解析
  4. 基础文档已创建并包含必要信息
  5. 构建系统已配置并能正常工作
  6. CI/CD配置已完成
  7. 主程序入口可以编译和运行
  8. 所有单元测试通过