基础设施即代码:模块管理、发布、共享与测试实践
1. 模块版本控制与结构
在软件开发中,若采用基于特性的开发或 Git Flow 工作流,可在同一工作流中处理补丁或热修复。具体操作是基于版本标签创建分支,更新更改内容,增加补丁版本号,并为热修复分支添加新标签,同时保留该分支以记录提交历史。
对于多仓库结构,这种版本控制流程效果良好。而对于单仓库,同样可应用版本控制标签方法,可在标签前添加模块名称前缀(如 module-name-v2.0.0)。之后将模块打包并发布到制品仓库,构建系统会打包模块子目录内容,并在制品存储中标记版本。配置时引用制品仓库中的远程模块,而非本地文件。
2. 模块发布流程
2.1 发布前测试
模块版本控制有助于模块演进并减少对系统的干扰,但不应让每个团队立即将基础设施即代码(IaC)更新到最新模块。在生产环境使用模块前,需确保其正常工作且不会破坏基础设施。
以 Datacenter for Veggies 的数据库模块更新为例,更新数据库模块以将密码存储在秘密管理器后,将更改推送到版本控制。邀请 Fruits 团队在单独环境中测试模块,确认其正常工作后,使用新版本(如 v2.0.0)标记发布,并更新秘密管理器的文档。
2.2 测试环境建议
建议在独立于开发和生产工作负载的专用测试环境中运行模块测试。使用单独的账户或项目进行模块测试,有助于跟踪测试成本,并将故障与活跃环境隔离。
2.3 发布操作
测试模块后,使用新版本标记发布供团队使用。如 Datacenter for Veggies 将数据库模块发布为
超级会员免费看
订阅专栏 解锁全文
1520

被折叠的 条评论
为什么被折叠?



