我有一个回购与亚特兰蒂斯集成。这个repo包含许多使用相同模块的堆栈,每个堆栈在自己的文件夹中,并具有不同的tfvar。
我使用一些自动化来生成新的堆栈,它生成新的目录,复制一堆*。Tf文件,并用正确的值设置tfvar。不幸的是,这种集成是脆弱的,因为当模块中的某些内容发生变化并且没有在模板文件中更新时,我没有测试可以使pr失败。
我想要的是一个集成测试,它创建一个测试堆栈,得到亚特兰蒂斯计划,失败,如果计划失败,否则通过。
这是可行的吗?
听起来这个问题不需要亚特兰蒂斯来解决。亚特兰蒂斯对人类来说更像是一个工具。
尝试使用管道,如github动作工作流
- 创建
examples/complete
根模块/栈 - 在新的根模块中实例化一个可重用模块
- 在
terratest
或类似的环境中编写测试,运行terraform
init/apply/destroy - 添加大量输出并使用test 检查输出
- 在每个拉取请求上运行此测试以防止破坏性更改
查看cloudposse github org如何使用此方法来验证他们的代码是否经过测试。
- /例子完整的
- examples_complete_test.go