如何跟踪AWS lambda中当前部署的git分支?

时间:2018-08-21 08:56:43

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

问题

由于有多个开发人员在一个项目上工作,因此出现了多个源代码的git分支存在的问题。每个分支具有相同的环境配置,但也可能因所开发的功能而异。

要跟踪的最佳实践是什么,当前在AWS Lambda中部署了哪个分支?

我们使用Serverless来处理部署,还使用Gitlab作为git存储引擎。

1 个答案:

答案 0 :(得分:2)

我在项目中实现此目标的一种方法是使用Lambda aliases and versions

每次部署Lambda时,版本号都会递增,并且最新部署的Lambda会标记为$ LATEST。

版本是唯一的,每次对lambda函数进行部署时都会受到影响,而与要从哪个分支部署代码无关。

将分支名称用作别名以指向特定版本的过程:

  1. 检出要部署的分支并进行所需的更改。更改完成后,请无服务器部署
  2. 等待部署完成
  3. 转到已部署的lambda,然后选择操作->创建别名
  4. 输入别名,该别名应该是部署代码的分支名称
  5. 选择最新的或所需的版本号,然后单击创建

创建别名后,您可以使用lambda名称调用lambda。

如果要从ApiGateway调用lambda,可以按照本文中提到的步骤进行操作: Using API Gateway stage variables to manage Lambda functions

由于您使用的是无服务器框架,因此我上面提到的步骤可以使用Serverless AWS alias plugin

完成

该插件可自动执行我上面提到的所有步骤,包括为每个别名创建一个阶段。

您可以参考此example以将分支名称用作别名

您要做的就是在无服务器部署命令中添加--alias=<ALIAS_NAME>标志。

例如:sls deploy --alias=feature-test