AWS CI/CD 针对同一 Github 存储库中的不同项目进行处理

AWS CI/CD processes against different projects in same Github repo

我正在尝试弄清楚如何实施 AWS CI/CD。我的 objective 是将代码检查到 GitHub 中,导致 webhook 触发器启动 AWS 中用于构建和部署我的代码的进程。我一直在阅读这个,现在正在尝试实施它。

这是我的 .Net 核心解决方案结构:

我的解决方案中最后的 3 个项目是 lambda 项目。我希望每个人都有自己的 CI/CD 流程。

我怀疑因为这 3 个项目属于同一个 GitHub 存储库,所以我不能有 3 个单独的 CI/CD 进程。我需要将这 3 个项目分解为它们自己的 GitHub 存储库吗?是否可以将 AWS CodeBuild/Deploy 进程连接到 GitHub 存储库中的子文件夹?

是的,可以将它们保存在同一个存储库中。您必须创建 3 个不同的 CodeBuild 项目。除了两件事外,项目配置将是相同的:

  • 在每个项目的源代码部分,Start a build under these conditions 下有一个名为 FILE_PATH 的选项。在那里设置 C# 项目的路径,以便只有推送到该项目中的代码才会触发构建。

  • 在每个项目的构建规范部分,更改 Buildspec name 以匹配从 repo 根目录开始的相对路径。 (例如:RoiCalculator.Serverless.Api/buildspec.yml