在 CDK 包和 Terraform 模块之间共享运行时代码

问题描述 投票:0回答:1

我有一个 NPM 包,用于部署 CDK 资源和 Lambda JavaScript 运行时代码(从 TS 编译)。单独的 Terraform 模块中使用完全相同的运行时代码。在项目之间共享运行时代码的最有效方法是什么?

此外,最好每当发布新版本的 NPM 包时 - 应使用最新的运行时代码创建新版本的 terraform。

我可能可以做一些事情,比如每当 CI/CD 发布包时将编译后的代码上传到 S3 存储桶,但这会增加一个全新的复杂性 - 包括模块下载代码的权限等。必须有一种更简单的方法.

aws-lambda terraform runtime share aws-cdk
1个回答
0
投票

我想我找到了一个可行的合理妥协方案。

  1. 将项目(CDK 和 terraform)合并到一个存储库中 - 这样可以轻松共享运行时代码
  2. 对于 lambda 运行时代码,将其从 TypeScript 切换为 JavaScript,因此不涉及编译,并且 CDK lambda 和 terraform lambda 都可以直接引用代码资产。
  3. 自动发布 NPM 包的相同 GitHub 操作也会在同一版本下为 terraform 模块创建新版本。
© www.soinside.com 2019 - 2024. All rights reserved.