当 cdk 中有两个 lambda 时部署 -> 开发周期的最佳实践

Best practice to deploy -> development cycle when there are two lambda in cdk

我在 cdk 文件中有两个 lambda。

用这个源码cdk deploy做第一次部署,然后

每次 cdk deploy 都会部署新的两个 lambda 代码。

但是可以只部署一个 lambda 吗?

这种情况的最佳做法是什么?

   const msgLambda = new lambda.DockerImageFunction(this, "firstLambda", {
      functionName: `sg-mg-lm`,
      code: lambda.DockerImageCode.fromImageAsset(
        "first",
        {
          "file": "Dockerfile.first"
        }
      ),
      environment:{
      }
    });
    const wkLambda = new lambda.DockerImageFunction(this, "secondLambda", {
      functionName: `sg-wk-lm`,
      code: lambda.DockerImageCode.fromImageAsset(
        "second",
        {
          "file": "Dockerfile.second"
        }
      ),
      environment:{
      }
    });

cdk deploy 在堆栈级别运行,而不是在资源级别运行。如果这两个 lambda 函数有自己的生命周期,那么你应该每个都有一个堆栈。

documentation所述:

Many CDK Toolkit commands (for example, cdk deploy) work on stacks defined in your app. If your app contains only one stack, the CDK Toolkit assumes you mean that one if you don't specify a stack explicitly

有两个堆栈,比方说 Stack1Stack2,然后您可以选择要部署的堆栈:

$ cdk deploy Stack1 

$ cdk deploy Stack2

甚至同时进行:

$ cdk deploy Stack1 Stack2