SAP Commerce Cloud 的构建与环境无关,即所谓的 environment agnostic
,这意味着同一个构建可以适用于多个 Commerce Cloud 环境。这种设计的优点是,在开发或 staging 环境中测试的相同代码,可以不被修改地直接部署到生产环境中。
特定于环境的设置包含但不局限于下列这些示例:
- 域名
- IP 地址
- SSL 证书
- 资源(数据库、媒体存储)的 URL 或凭据
- 任何外部系统的 URL 或凭据
- 技术用户的凭证。
- 机器大小或可用资源量(CPU、内存)
换言之,Commerce Cloud 的构建环境不依赖于上述这些示例的属性。从另一方面说,上述这些属性,不应出现在最后构建出的镜像里,否者就意味着镜像同具体的环境属性产生了紧耦合的关系。
image.png可以将 Commerce Cloud 环境创建为开发、staging 或生产类型。这些类型也称为角色,即 Persona.
环境角色影响环境的性能和环境的使用目的。 惯例是,生产环境比 Staging 环境快,而 Staging 环境又比开发环境快。
环境可以具有不同的配置,比如不同的服务属性:Service Properties.
- 给定类型的所有环境的配置,这种配置可以包含在构建中。
- 特定于某个环境的配置,可以在 Cloud Portal 中定义。
关于构建和部署的最佳实践
- 只执行一次构建。构建的产出是一系列 Docker 镜像。构建与具体的环境无关。
- 将构建出的 Docker 镜像部署到所有环境,从开发开始,然后是 Staging 环境,最后到生产环境。
- 在将构建升级到下一个环境之前,在每个环境上测试构建出的 Docker 镜像。
网友评论