Cloud Build:与 monorepo 一起使用
Cloud Build: using with a monorepo
我有一个 repo 包含三个相当独立的子包:
- packages
- backend
- app
- app-deploy-ops
Cloud Build 示例仅显示一个 cloudbuild.yaml
。
像这样 CI/CD-able(例如,运行 对 PR 进行测试,但相关测试基于更改的内容)的策略是否涉及制定三个构建定义?这是我能想到的唯一方法。然后根据需要选择 Cloud Build 触发器中的那些。
我的问题可能是:我是否遗漏了什么?
您在 Cloud Build 中的所有代码只能有一个触发器,并且只能自定义一个大 cloudbuild.yaml
文件以仅构建相关部分。
另一种选择是为项目的每个部分创建一个触发器。 cloudbuild.yaml
文件位于代码的每个子目录中(您可以在触发器中对其进行精确设置),因此该文件较小并且专用于要构建的部分。
我建议您使用第二种方法,但是是的,您需要 3 个文件并定义 3 个触发器。
我有一个 repo 包含三个相当独立的子包:
- packages
- backend
- app
- app-deploy-ops
Cloud Build 示例仅显示一个 cloudbuild.yaml
。
像这样 CI/CD-able(例如,运行 对 PR 进行测试,但相关测试基于更改的内容)的策略是否涉及制定三个构建定义?这是我能想到的唯一方法。然后根据需要选择 Cloud Build 触发器中的那些。
我的问题可能是:我是否遗漏了什么?
您在 Cloud Build 中的所有代码只能有一个触发器,并且只能自定义一个大 cloudbuild.yaml
文件以仅构建相关部分。
另一种选择是为项目的每个部分创建一个触发器。 cloudbuild.yaml
文件位于代码的每个子目录中(您可以在触发器中对其进行精确设置),因此该文件较小并且专用于要构建的部分。
我建议您使用第二种方法,但是是的,您需要 3 个文件并定义 3 个触发器。