Salesforce DX:具有多个包目录的单个项目与多个项目

Salesforce DX: Single Project with multiple package directories vs. Multiple projects

我们目前正在研究 Salesforce DX 项目的架构。我们有现有定制的广泛代码库,并计划将它们变成多个未锁定的包,以使一切更加模块化等。当然,并不是所有的东西都需要打包,一些功能将保持未打包状态。

问题是:这应该是一个单个项目(里面有多个包目录和一个Git repo)还是每个项目一个feature 更受欢迎(多个 Git repos)?你将如何管理包和未打包的东西之间的依赖关系?

能请教一下吗?

Salesforce cli 可以从任何地方运行。但是某些命令需要在 Salesforce 项目目录的上下文中执行。这包括执行打包、将代码部署到组织的所有命令,所有这些都会驱动您可能使用的任何 CI/CD 流程。

正如我想象的那样,尝试安排一个跨多个项目的 CI 流程,每个项目都有自己的项目文件夹,这似乎会增加不必要的复杂性。

从根本上说,解锁包旨在共享单个 Salesforce 项目。因此,除非您找到其他原因,否则朝这个方向前进是正确的举动。

Salesforce 开发人员传播团队维护着一个 sample app,它是使用名为 "Easy Spaces" 的多包模型构建的。我建议查看那里的 sfdx-package.json 文件以了解如何安排和识别包依赖项。

您或许能够推断出一些相应地组织项目中代码的方法。

如何做出所有这些决定对于一个单一的答案来说太多了。但是这个 youtube video 是一位客户开发团队负责人,他分享了他们如何重新构建代码库以使用未锁定的软件包。

如果您在开始时遇到任何问题,Salesforce StackExchange site 上也已经提出了一些问题。