我们有一个构建管道来管理工件的生命周期。该管道由四个阶段组成:
1.commit(运行单元/集成测试) 2.at(将工件部署到环境并运行自动化验收测试) 3.uat(将工件部署到 uat 环境并运行手动验收测试) 4.pt(部署到pt环境并运行性能测试) 5.//TODO 我们正在尝试支持生产环境。
该管道支持环境变量,因此我们可以通过使用选项触发来部署具有不同配置的工件。问题是有时配置项太多,使得部署脚本包含太多替换任务。
我有个想法,搭建一个集中的配置管理系统(简称ccm),这样我们就可以在那边维护配置项,在deploy脚本中只留下一个url(连接到ccm)替换任务(处理不同阶段)。因此,工件不保存配置值,它向 ccm 询问它们。
首先这是可行的还是一个坏主意?
我担心的是,配置键(在工件中定义)和值(在 ccm 中设置)之间的潜在不匹配无法通过此解决方案解决,甚至可能更糟。