这不是原始问题的答案,但它可能是实现目标的另一种方式 .
首先,在所有环境(包括产品)之间共享CF分配会带来风险 - 当您需要测试CF配置的更改时,您必须使用未经测试的更改修改产品CF dist,这可能会产生重大影响 .
其次,虽然如果你可以在CI / CD管道的所有阶段测试整个环境,这很棒,但并不总是可能的(并且CF特别糟糕) - 所以它是关于在短反馈周期和测试的彻底性之间找到 balancer .
解决方案通常是为您的管道引入额外的阶段,其中早期阶段提供对最常见问题的快速反馈,而后期阶段对较不频繁的问题提供较慢的反馈 .
在你的情况下,我建议:
分支部署不部署CF - 测试直接针对API网关
主/默认部署DO部署CF - 到'staging'环境 - 测试目标是分段CF分发
成功测试到'staging'环境的版本将升级为 生产环境 版
通过引入暂存环境,您可以获得有关分支构建的快速反馈,但您仍然有机会在进入prod之前测试缓存后面的内容 .
如果要对CF配置进行更改,则可以使部署脚本动态决定在分支部署中包含CF(在分支名称中可能存在“cloudfront”一词 - 尽管可能有点'神奇的'为某些人!)并且您可以在合并到master之前测试分支上的这些更改以便在分段中进行测试 .