git版本控制lambda函数

时间:2018-02-23 16:00:47

标签: amazon-web-services amazon-s3 aws-lambda aws-sdk aws-api-gateway

为了让开发人员能够在本地编写lambda函数,然后提交并推送到git,我们使用了SAM和SAM Local。

我们有大约50个lambda函数,并且预计这个数字会增加到数百个(如果不是数千个)。

我想知道如何对lambda函数存储库进行分组,即 我们应该将所有由api网关触发的lambda函数分组到自己的repo中,然后将所有由s3触发的函数分组分开等......

挑战是一些lambda函数有自己的依赖关系,尝试在同一个repo中拥有多个具有不同依赖关系的lambdas 看起来很奇怪。 一个lambda可能有 npm包依赖 ,另一个可能有 python库依赖 等...所以我也是git commit和git将这两个lambda推送到自己独立的repos中,或者将它们组织在不同的文件夹中并将它们推送到同一个repo中? 或者每个lambda函数都有separe repos?

将每个lambda提交到自己的repo似乎并不可行,特别是当这些函数的数量增加时。

我是aws工具的新手,非常感谢有关此人的见解!

也许您之前遇到过这个问题?

1 个答案:

答案 0 :(得分:2)

我会根据他们的目的将它们分组。例如,

  • REST API(HTTP端点)
  • GraphQL API(HTTP端点)
  • Auth API(HTTP端点)
  • Admin API(HTTP端点不是我们面向用户的产品的一部分,但对于管理我们的客户(如计费系统和公司仪表板)至关重要)
  • 后台工作人员(用于处理后台任务,如图像调整大小,发送电子邮件,汇总数据等)
  • 操作(不是产品的直接部分,但在Slack WebHooks,CI / CD触发器等日常操作中至关重要)

我还推荐serverless-framework等工具来帮助管理每个项目。