SAP|SAP Commerce Cloud 构建过程中的文件夹可写入性问题分析
在构建时,SAP Commerce Cloud 标准的文件目录是可写的,因为构建过程本身需要修改这些文件目录。但是不推荐客户的 Customization 里也对这些 SAP Artifacts 做修改,因为这违反了开闭原则,可能会引起潜在的问题。SAP 推荐客户使用 Commerce Cloud 自带的 Extension 机制来进行定制化。
不要在不受构建过程管理的任意目录中写入任何内容,即使这些目录从技术上来说是处于可写状态的,也不要这样做。这是因为由于优化或安全改进,这些不受构建过程管理的目录,将来可能会重新变成不可写入状态,从而导致构建过程失败。
在构建过程中,默认认为 Github 仓库和 Docker Registry 都是处于可访问状态。但是无法保证构建过程具有不受限制的互联网访问权限。 在构建过程中不要使用任何外部服务,因为出于优化或安全改进的目的,网络策略可能随时更改。 构建过程能够控制的唯一资源就是项目 Git 存储库。
Commerce Cloud 构建过程不为第三方 Artifacts 提供任何受信任的存储库。 默认情况下,它使用公开可用的存储库。
以下是存储库使用情况的细分:
- 如果在 extensioninfo.xml 中启用,核心定制使用 Maven Central 进行分发
- JavaScript Storefront 使用 yarn 工具配置的默认注册表
对于 yarn 和 npm - 在开发过程中解决依赖关系并将 yarn.lock.json 或 package-lock.json 文件提交到代码存储库中。这样做的目的是,对于相同的输入,即使重复构建,也能得到相同的输出。
属性文件是包含用于配置管理的键值对的标准 Java 文件。下面是一个例子:
文章图片
【SAP|SAP Commerce Cloud 构建过程中的文件夹可写入性问题分析】可以使用三种不同的方式为 SAP Commerce Cloud 和 Data Hub 设置属性:
- 在 Cloud Portal 中将它们设置为 Service Properties
- 使用服务特定清单即 Service specific Properties
- 准备属性文件,将它们放在存储库中,并使用 useConfig 清单组件来引用它们。
推荐阅读
- SAP|SAP Commerce Cloud Github 仓库管理规范
- SAP|SAP Commerce Cloud 构建环境类型介绍
- SAP|SAP Commerce Cloud 构建环境和最终运行环境的区别
- SAP|SAP Commerce Cloud 的构建过程学习笔记
- SAP|SAP Commerce Cloud Github 项目的个性化配置 customization
- SAP|SAP UI5 应用开发教程之八十三 - SAP UI5 的自动化测试套件页面的开发步骤介绍试读版
- SAP|SAP UI5 自动化测试工具的 qunit-redirect.js
- SAP|SAP UI5 的自动化测试套件页面的开发步骤介绍
- 安卓界面之Toolbar+tablayout+viewpager仿WhatsApp界面样式
- CSAPP(第八章 异常控制流2)