SAPCommerceCloud使用单个Git存储库作为项目定制的源,使用单个构建过程构建整个应用程序,并将整个应用程序的构建结果部署到目标环境使用单个部署过程。CommerceCloud构建过程使用递归选项来克隆项目存储库。它允许您将其他存储库(称为子模块)插入主存储库。当多个团队为同一个项目存储库做贡献时,这种方法很有用。每个存储库可以使用不同的分支策略或具有不同的权限规则。从CommerceCloud的角度来看,这仍然像单个存储库一样工作:CommerceCloud构建过程克隆主存储库给定分支的最新提交。主存储库中的某个路径,可以指向单独存储库(git子模块)中的特定路径和特定提交。所有单独的存储库都使用相同的凭据访问,这些凭据在云门户中为主存储库配置。让我们看一个具体的例子。有一个包含以下资源的项目存储库:核心自定义,扩展1和2存储在子模块1中,扩展3和4存储在子模块2中。JavaScript店面存储在子模块3中。在某个时间点,开发人员更改了子模块1中的扩展1。要反映主存储库中的更改,还必须对主存储库进行提交,更改对子模块1的引用以指向其最近的更改。最终用户触发CommerceCloud中的新构建。构建过程的变化分析和检测:必须构建一个新的平台镜像,因为扩展1发生了变化。现有的Solr图像可以重复使用,因为操作系统、Solr或CommerceCloud版本没有变化,Solr定制也没有变化。可以重复使用现有的Zookeeper镜像。因为操作系统或Zookeeper版本没有变化。可以重复使用现有的JavaScript店面图像。JavaScript店面自定义未更改。最终用户触发新构建的部署:有一个新的平台镜像,所以所有基于平台的服务都重新启动。Solr和Zookeeper服务不会重新启动。因为对应的镜像或者配置没有变化。JavaScript店面服务未重新启动。因为对应的镜像或者配置没有变化。
