directory.adoc 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. // tag::main[]
  2. == 术语定义:
  3. *
  4. **
  5. == 源码目录结构规范
  6. * Dockerfile
  7. ** Docker 镜像文件
  8. * Chart.yaml
  9. ** Yaml文件,用来描述chart的基本信息,包括名称版本等。
  10. * requirements.yaml
  11. ** 当前Chart依赖的其他chart的说明
  12. * values.yaml
  13. ** 定义变量,如:所需CPU、内存资源、镜像仓库地址、环境变量定义等
  14. * /templates
  15. ** configmap.yaml
  16. *** 对应k8s模板文件中 configmap 文件
  17. ** deployment.yaml
  18. *** 对应k8s模板文件中 deployment 文件
  19. ** _helpers.tpl
  20. *** 说明文本文件,helm install之后展示给用户看的内容
  21. ** NOTES.txt
  22. *** 如何通过kubectl命令查看该Chart部署好的POD `kubectl get pods ‐w ‐‐namespace {{ .Release.Namespace }} ‐l release={{ .Release.Name }}`
  23. *** 如果服务对外提供服务,如何查看服务地址 `kubectl get svc ‐‐namespace {{ .Release.Namespace }} ‐l release={{ .Release.Name }}`
  24. *** 如何升级Chart,如 `helm upgrade {{ .Release.Name }} stable/demo`
  25. ** service.yaml
  26. * README.md
  27. * CHANGELOG.md
  28. * /src
  29. .Dockerfile 举例
  30. ----
  31. FROM maven3-jdk11
  32. MAINTAINER chlym
  33. LABEL Description="hello" Vendor="xxxx" Version="0.0.1"
  34. USER root
  35. WORKDIR /projects
  36. COPY ./target/gateway.jar /opt/web/shoulder/gateway/gateway.jar
  37. COPY ./src/main/resources/*.yml /opt/web/shoulder/gateway/
  38. ENTRYPOINT ["java","-jar" ,"gateway.jar"]
  39. ----
  40. == 成果物目录结构规范
  41. 成果物为发布之后的,并不是源码目录结构,参考了 jdk、tomcat、maven、gradle、idea 等发布版本目录结构。
  42. * *bin*
  43. ** 可执行程序、动态库、数据库初始化脚本(`db.init.sql`)、版本升级数据库脚本(`db.update.sql`)。
  44. ** /tools
  45. *** 维护、检测、监控等工具。
  46. ** /script
  47. *** 完整性校验脚本 checkIntegrity.sh
  48. *** 自定义脚本,方便在安装、卸载、升级前后执行特殊处理;
  49. *** 运行健康状态检测脚本
  50. * lib
  51. ** 主要为 bin 目录的运行依赖,如动态链接库 `*.dll` 、依赖jar包 `*.jar`
  52. ** include(`c++专属`)
  53. ** 主要为 c/c++ 类使用,如 `*.h` 头文件。
  54. * *META-INF*
  55. ** /icon 应用图标
  56. * *conf*
  57. ** 存放启动时读取的外部配置文件,如 config.conf、config.conf.bak;升级前原配置文件config.beforeUpdate;
  58. * *resource*
  59. ** 资源目录,存放资源文件、资源包。
  60. * *language*
  61. ** 包含一个或多个名称为语言标识的子目录,如 `zh_CN`、`en_US`,子目录下包含对应语言的翻译资源文件。
  62. *** 三级目录中特殊文件:`translate.properties` 允许任何用户读取
  63. * doc
  64. ** /api 目录
  65. *** 接口json文档 `<appId>`Api.swagger.json。
  66. ** /demo 目录
  67. *** 存放开发对接或使用示例。
  68. ** 设计(需说明权限)、技术、规格清单、接口介绍、端口清单、测试报告、遗留缺陷等。
  69. ** 软件功能描述文件 function.md
  70. ** 软件性能描述文件 performance.md
  71. ** 版本更新说明 CHANGELOG.md
  72. ** 依赖环境 environment.md
  73. ** 实现的监控信息描述 monitor.md
  74. ** 报警规则 <appId>AlertRules.yml
  75. ** 使用指南 guide.md/help.md
  76. ** 常见问题 faq.md
  77. * data
  78. ** 数据目录,存放运行时产生的数据文件。
  79. ** 升级/卸载保留数据,备份数据用于恢复。
  80. * download
  81. ** 支持使用者下载,如附带的 APP、客户端等 `apk`、`install.exe`
  82. * logs
  83. ** 日志目录,软件运行中的日志记录到该目录中。
  84. * plugins
  85. ** 存放已安装插件
  86. * 协议 *license.md*
  87. * 简介 *readme.md*
  88. // end::main[]