本文介绍了将参数从AWS lambda传递到AWS CodePipeline的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个lambda,它通过AWS开发工具包 startPipelineExecution
函数来启动CodePipeline执行.是否有任何机制可以将参数传递给CodePipeline构建,以便它可以将CodeBuild构建中的值用作环境变量?
I have a lambda that is initiating a CodePipeline execution via the AWS SDK startPipelineExecution
function. Is there any mechanism available to pass a parameter to the CodePipeline build so that it may use the value within the CodeBuild build as an environment variable?
推荐答案
当前,CodePipeline不提供任何用于将参数传递到Source Stage中的功能.根据CodePipeline设置,我将研究以下内容之一:
Currently CodePipeline does not provide any functionality for passing parameters into the Source Stage. Depending on the CodePipeline setup, I would look into one of the following:
- 从Lambda函数中,将参数保存到Amazon Systems Manager-参数存储,并使用CodeBuilds内置方法在运行时检索它.Buildspec:
env:
parameter-store:
key: "value"
- 不是直接调用CodePipeline,而是将具有所有参数的文件上传到S3存储桶.然后将S3设置为Source Action Provider,以便在更新文件时触发CodePipeline.这样,您可以将文件作为工件传递到CodeBuild项目并在其中使用.
- 如果您可以重新设计流程以直接从Lambda触发CodeBuild,则可以使用 environment-variables-override 标志.
这篇关于将参数从AWS lambda传递到AWS CodePipeline的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!