← 返回文章列表

Go 项目通常包含的功能

Go
  • # go
  • # project-layout

Go 项目通常包含的功能

  • 项目介绍:README.md
  • 客户端:xxxctl
  • API 文档
  • 构建配置文件,CICD 配置文件
  • CHANGELOG
  • 项目配置文件
  • kubernetes 部署定义文件(未来容器化是趋势,甚至会成为服务部署的事实标准,所以目录结构中需要有存放 kubernetes 定义文件的目录)
  • Dockerfile 文件
  • systemd/init 部署配置文件(物理机/虚拟机部署方式需要)
  • 项目文档
  • commit message 格式检查或者其他 githook
  • 请求参数校验
  • 命令行 flag
  • 共享包
    • 外部项目可导入
    • 只有子项目可导入
    • storage 接口
  • 项目管理:Makefile,完成代码检查、构建、打包、测试、部署等
  • 版权声明
  • _output 目录(编译、构建产物)
  • 引用的第三方包
  • 脚本文件(可能会借助脚本,实现一些源码管理、构建、生成等功能)
  • 测试文件