提交时更新Lambda函数

时间:2018-06-04 10:16:27

标签: git amazon-web-services aws-lambda

我希望开发如下工作流程

  1. 开发人员将代码提交给github
  2. 一旦Master分支通过Web钩子更改(合并),它就会触发AWS CodePipeline,其中Build使用CodeBuild作为第二阶段发生
  3. 理想情况下,工作流程已存在于CodeDeploy或ECS中,其中构建的工件替换ECS中的任务定义并更新服务。但我正在寻找一个lambda部署。
  4. 这意味着,由CodeBuild上传到S3存储桶的构建工件或zip文件应该触发lambda函数,并且还应该从CodeBuild的工件更新lambda函数代码。

    现在我知道Lambda的一个触发器是S3,但它只触发已定义的lambda函数来执行但不更新函数并执行它。

    从控制台,我认为没有办法直接这样做。虽然听起来很复杂,但我希望有办法。

    那个方向的任何指针都会很棒。

1 个答案:

答案 0 :(得分:1)

我正在使用AWS CloudFormation进行AWS Lambda部署。在这种情况下,我的AWS CodePipeline有3个阶段(为简单起见):

  1. Stage" Source":GitHub
  2. Stage" Build":AWS CodeBuild
  3. Stage" Deploy":AWS CloudFormation
  4. 在构建阶段内我正在进行典型的构建过程npm installnpm test等。

    此处重要:在我的构建结束时,我正在使用aws cloudformation package将我的代码放在一起,自动将其上传到S3并生成最终的AWS CloudFormation模板然后在3. Stage" Deploy"。

    中使用