CodePipeline和CloudFormation参数

时间:2018-07-30 10:48:43

标签: amazon-web-services amazon-cloudformation aws-codepipeline

我正在使用CodePipeline部署引用https://docs.aws.amazon.com/lambda/latest/dg/build-pipeline.html的SAM(lambda等)应用程序。

现在的“问题”是我的CloudFormation内部有一些参数,CodePipeline要求我设置这些参数。我可以通过参数覆盖

来实现

enter image description here

但这是正确的方法吗?我实际上只希望一开始就设置一次。而且我希望用户在CloudFormation中进行设置,而CodePipeline应该遵循这些值。

此堆栈已创建,为什么CodePipeline抱怨我需要设置它们?

2 个答案:

答案 0 :(得分:1)

CloudFormation需要输入参数来更新。 建议使用模板配置来指定输入参数。您可以创建一个输入参数的模板文件,供客户使用。

答案 1 :(得分:0)

可能的解决方案是创建自定义Lambda函数,这些函数将使用Invoke操作从CodePipeline调用。

作为此类Lambda的参数,您将指定CloudFormation堆栈名称。然后,Lambda将从现有堆栈中加载CloudFormation参数并从中创建输出(使用适当的AWS开发工具包)。这样的工件将用作CloudFormation部署的输入。

另一种解决方案是创建将执行相同操作的CodeBuild项目。

这有点复杂,但是不幸的是,似乎CodePipeline总是需要全套参数。