多个开发人员 + 单个 Dynamics CRM 实例 + Git - 如何克服挑战?

Multiple Developers + Single Dynamics CRM Instance + Git - How to overcome challenges?

我们是 4 名开发人员,应该为我们的下一个 CRM 项目开发同一个 CRM 实例。

我们计划使用 Solution Packager 将解决方案文件分解为包含 XML 个代表 CRM 解决方案每个组件的文件的文件夹结构。

我们正在使用 Git 进行版本控制。

目前我们预见到一些问题,因此我们怀疑它会增加更多的开销或涉及手动干预以避免一些冲突。

在Microsoft网站上,它给出了一个示例,其中CRM解决方案文件存储在源代码管理下,但开发人员A和开发人员B都独立地对该解决方案的组件进行了更改。它说:

开发人员 B 准备好跟随开发人员 A.

  1. 在他提交之前,他必须获得最新的资源以确保之前的签入不会与他的更改发生冲突。
  2. 存在冲突,因为“Active Contacts”的文件自他上次检索最新资源以来已被修改。
  3. 开发人员 B 必须协调冲突。正在使用的源代码控制系统的功能可能有助于此过程;否则以下选择都是可行的。
    • 开发人员 B,通过源代码控制历史(如果可用)可以看到开发人员 A 进行了先前的更改。通过直接沟通,他们可以讨论每个更改。然后开发人员 B 只需要用商定的解决方案更新他的组织。然后他导出、提取并覆盖冲突文件并提交。
    • 允许源代码管理覆盖他的本地文件。开发人员 B 打包解决方案并将其导入到他的组织中,然后评估视图的状态并根据需要重新定制它。接下来,他可能会导出、提取和覆盖冲突文件。
    • 如果之前的更改被认为是不必要的,开发人员 B 允许他的文件副本覆盖源代码管理中的版本并提交。

对我来说,这似乎需要大量手动干预才能合并更改。这似乎不太理想。

想知道是否有人可以就多个开发人员在单个 CRM 实例(其中每个开发人员都应该自定义组件和插件)上工作的最佳实践分享一些想法?我们计划使用 Git 作为 ALM,并使用 Solution Packager 分解解决方案,以便我们可以跟踪 Git.

中的 XML 个文件

如有任何帮助,我们将不胜感激。

我觉得这是 CRM 仍然让生活变得困难的领域之一,并且只提供有限的工具和支持。

根据我的经验,对于每个人来说,在 CRM 中完成所有定制和配置工作是最简单和最实用的,而忘记了 'normal' 源代码控制。必须导入和导出解决方案文件可能是一个非常缓慢的过程,这会让您抓狂。在 CRM 外部编辑解决方案文件是您需要避免的雷区。在单个 CRM 实例上工作时不需要合并,因为每个人都可以立即看到彼此的更改。根据我的经验,这个过程通常只会增加通常可以避免的开销。

定期(例如半夜)导出到源代码控制仍然是明智的,因此如果出现问题,您有一个备份。

您还可以正常地对所有源代码进行源代码控制,例如插件代码。

此外,您在上面提到的示例涉及开发人员处理多个 CRM 实例(例如,每个开发人员都有自己的 CRM 开发实例),而不是您提到的单个 CRM 实例。