1.4.3.1. 保持多个仓库拥有一样的内容

当采用“一个模块一个仓库”的策略后,我们必须面对的一个实际问题是:如何在多个模块仓库中保持一部分通用内容的一致性(答案在这里)。

以下是一些推荐保持一致的内容:

  • 许可证文件(LICENSE):明确每个模块的开源协议,确保对外发布时的法律一致性;
  • README.md :保持模块说明的一致性和格式规范性(例如,必要时需要维护统一的文档头部与结尾),可以配合使用 terraform-docs 自动生成;
  • .gitignore 文件:避免将 Terraform 本地状态文件、缓存、临时文件等纳入版本控制;
  • 统一的分支保护策略:如启用 main 或 release 分支的保护规则,禁止直接推送,要求通过 Pull Request 合并;
  • 统一的代码合并规范:明确每个 Pull Request 至少需要一次 Code Review,通过 CI 流水线验证后方可合并;
  • Pull Request 模板和 Issues 模板:在 .github 文件夹中统一配置模板,引导提交者提供完整的上下文信息、变更目的、预期影响范围等内容,提升沟通效率和审核质量。
  • CI/CD 配置文件(如 GitHub Actions、Azure Pipelines 等):统一的 lint、format、validate、test 流水线设置可以提高质量保障;
  • 模块目录结构规范:比如是否固定使用 main.tfvariables.tfoutputs.tfREADME.mdexamples/ 这些标准文件/文件夹,保持模块的一致性,降低认知成本。
  • 一些全局共享代码,例如模块遥测数据等。

results matching ""

    No results matching ""