我正在使用CodePipeline部署引用https://docs.aws.amazon.com/lambda/latest/dg/build-pipeline.html的SAM(lambda等)应用程序。
现在的“问题”是我的CloudFormation内部有一些参数,CodePipeline要求我设置这些参数。我可以通过参数覆盖
来实现但这是正确的方法吗?我实际上只希望一开始就设置一次。而且我希望用户在CloudFormation中进行设置,而CodePipeline应该遵循这些值。
此堆栈已创建,为什么CodePipeline抱怨我需要设置它们?
答案 0 :(得分:1)
CloudFormation需要输入参数来更新。 建议使用模板配置来指定输入参数。您可以创建一个输入参数的模板文件,供客户使用。
答案 1 :(得分:0)
可能的解决方案是创建自定义Lambda函数,这些函数将使用Invoke
操作从CodePipeline调用。
作为此类Lambda的参数,您将指定CloudFormation堆栈名称。然后,Lambda将从现有堆栈中加载CloudFormation参数并从中创建输出(使用适当的AWS开发工具包)。这样的工件将用作CloudFormation部署的输入。
另一种解决方案是创建将执行相同操作的CodeBuild项目。
这有点复杂,但是不幸的是,似乎CodePipeline总是需要全套参数。