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



问题

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

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

我们使用无服务器来处理部署,并使用 Gitlab 作为 git 存储引擎。

我在项目中实现这一点的一种方法是使用 Lambda 别名和版本。

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

这些版本是唯一的,每次对 lambda 函数进行部署时都会增加,与您将从哪个分支部署代码无关。

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

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

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

如果要从 ApiGateway 调用 lambda,可以按照本文中提到的步骤操作: 使用 API 网关阶段变量管理 Lambda 函数

由于您使用的是无服务器框架,因此可以使用无服务器AWS别名插件完成我上面提到的步骤。

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

您可以参考此示例来使用分支名称作为别名

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

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

最新更新