-
验证理想状态 — 现在,
ideal-state
向导会在每次部署期间验证当前配置,并提供有关更新配置的明确说明,以实现更快的零停机部署。 -
PCI合规性 — 已更新云基础架构上Adobe Commerce的消息协议,以便在与第三方消息服务连接时要求使用传输层安全性(TLS)版本1.2。 如果您使用的消息服务不支持TLS版本1.2,则必须升级您的服务。 否则,当您的Adobe Commerce应用程序尝试连接到消息服务器以发送电子邮件时,会显示以下错误消息:
Unable to connect via TLS
。 -
部署改进 — 添加了验证功能,可在暂存或生产环境启用了
dev
、debug
或debug_logging
选项时警告客户,以防止因过多的日志记录活动而导致的性能问题。 -
部署修复—
-
现在,维护模式在部署阶段开始时启用,在部署阶段结束时禁用。 如果部署失败,站点将保持维护模式,直到解决部署问题为止。 以前,即使部署失败,站点也会返回到生产模式。
-
已重新处理部署阶段验证检查,将以下部署问题的错误级别从
CRITICAL
降级为WARNING
,以便完成部署。 以前,这些问题会导致部署失败。 -
环境配置包含不正确的部署或云变量值。
-
-
云基础架构上的Elasticsearch版本与云基础架构上的Adobe Commerce支持的elasticsearch/elasticsearch模块的版本不兼容。 请参阅Adobe Commerce支持知识库中的Elasticsearch疑难解答文章。
-
修复了
app/etc/config.php
文件中的共享配置设置的问题,该问题在部署期间导致recursion detected
错误。
-
-
Cron相关修复—
-
修复了在指定默认(1分钟)以外的cron频率时阻止作业运行的cron计划问题。
-
修复了部署阶段中存在的一个问题,该问题会导致cron作业在部署期间继续运行,从而可能导致数据库锁定和其他严重问题。 现在,所有cron作业都将在部署阶段开始之前停止,并在部署完成后重新启动。<!—MAGECLOUD—2537—>
-
修复了2.2.x版中的cron作业工作流以解锁冻结的cron作业,以便在开始部署之前停止它们。 以前,冻结的cron作业导致部署停止。
-
-
更改了
vendor/bin/ece-tools config:dump
命令生成的config.php
文件的格式,以使用短数组语法和4空格缩进以符合Adobe Commerce编码标准。 -
修复了当
.magento.env.yaml
包含Web配置的{{ base_url }}
和{{ unsecure_base_url }}
占位符而不是云基础架构项目上Adobe Commerce的默认URL配置时发生的部署错误。/
v2002.0.13
-
启用零停机部署 — 现在,云基础架构上的Adobe Commerce在部署期间将包含所需数据库更改的请求排入队列,并在部署完成后立即应用更改。 请求最长可保留5分钟,以确保不会丢失任何会话。 查看静态内容部署选项,以缩短Cloud上的部署停机时间。
-
云的Docker撰写 — 对Docker设置和配置进程进行了以下改进:
-
添加了命令 —
docker:config:convert
,用于将PHP配置文件转换为Docker ENV格式以简化环境配置。 现在,将PHP配置文件复制到Docker目录,并将其转换为Docker ENV文件。 查看Launch Docker. -
Adobe Commerce on cloud基础架构安装过程现在支持同时部署到只读和读写文件系统,以便更密切地模拟云文件系统。 请参阅配置Docker。<!—MAGECLOUD—2357—>
-
Redis服务支持 — 添加了一个Redis映像,该映像部署到Docker容器并自动配置为与您的Docker安装配合使用。<!—MAGECLOUD—2442—>
-
在使用Cloud Docker 数据库容器时,您现在具有数据库转储功能。 此外,您还可以使用
docker/mnt
目录在主机计算机和容器之间共享文件。 -
Varnish服务支持 — 添加了Varnish映像,该映像自动部署到Docker容器。 部署后,您可以按照Adobe Commerce最佳实践手动配置涂漆。 请参阅配置和使用清漆。<!—MAGECLOUD—2358—>
-
安全站点访问 — 为访问Adobe Commerce存储和管理面板添加了SSL支持。<!—MAGECLOUD—2360—>
-
-
改进了Adobe Commerce on cloud infrastructure扩展支持 — 将Adobe Commerce on cloud infrastructure composer.json文件中guzzlehttp/guzzle包的最低版本要求降级为6.2版,以便
ece-tools
包与更多扩展兼容。 -
在构建阶段将自定义更改应用于Adobe Commerce应用程序 — 我们将该构建阶段拆分为两个单独的进程,这样您就可以在打包应用程序以进行部署之前,使用挂接将自定义更改应用于生成的静态内容。 build:generate 进程生成代码、应用修补程序并生成静态内容。 build:transfer 进程将生成的代码和静态内容传输到最终目标。 查看应用程序挂接.
-
环境配置检查 — 改进了环境配置的验证,以便在云基础架构上构建和部署Adobe Commerce之前警告客户出现版本不兼容和配置错误。
-
添加了特定于版本的验证,以标识不支持或弃用的环境变量和值。
-
添加了Elasticsearch兼容性检查,以就Elasticsearch配置问题向用户发出警告。 现在,如果服务器上的Elasticsearch服务版本与Adobe Commerce不兼容,则部署将失败。 以前,即使Elasticsearch版本不兼容,部署也会成功,这会导致在站点部署后出现产品目录问题。
您可以通过提交支持票证解决不兼容问题,以将Elasticsearch升级到兼容版本,或更改Adobe Commerce配置以指定ElasticsearchPHP客户端的兼容版本。
-
对于Adobe Commerce版本2.1.x到2.2.2,请将Elasticsearch升级到版本2.4。
-
对于Adobe Commerce版本2.2.3及更高版本,请将Elasticsearch升级到版本5.2。
-
如果您有Elasticsearch1.x或2.x,并且不想升级,请将composer.json中的Adobe CommerceElasticsearchPHP客户端版本要求更新为
"elasticsearch/elasticsearch": "~2.0"
。
-
-
改进了环境变量验证,以识别在生成、部署和部署后阶段可能会导致冲突的配置设置。 例如,如果静态内容部署的全局设置与生成或部署阶段的设置冲突,则在安装和升级过程中会显示警告消息。
-
-
环境变量更新 — 已更改以下环境变量:
-
SKIP_CONTENT_MINIFICATION全局变量 — 将默认值更改为
true
以启用随选HTMLHTML内容缩小,这样可在部署到暂存环境和生产环境时最大限度地减少停机时间。 零停机部署需要此配置。 -
CLEAN_STATIC_FILES部署变量 — 添加了基于CLEAN_STATIC_FILES环境变量设置来管理生成阶段生成的静态内容的清理静态文件处理的功能。 以前,始终清理在生成阶段生成的静态内容文件。
-
-
日志记录 — 进行了以下更改以改进日志消息并减少日志大小:
-
部署失败日志条目现在包括导致失败的操作的命令输出,即使您的环境配置未指定调试级别日志记录也是如此。 查看
MIN_LOGGING_LEVEL
. -
添加了针对某些扩展所需的生成工厂无法正确生成时发生的部署失败的日志记录,因为文件系统处于只读状态。
-
减少了部署日志大小,并修复了使用交互式进度条的安装命令导致的格式问题。
-
消除了不必要的详细程度并更新了一些日志语句的优先级。
-
-
特定于Cron的修复—
-
已将历史记录生命周期的默认cron作业配置设置从3d (4320分钟)更改为1h (60分钟),以防止在cron队列填充过快时可能出现性能问题和部署失败。
-
改进了部署阶段的cron作业管理过程,以防止数据库锁定和其他严重问题。 现在,所有cron作业在部署阶段停止,并在部署完成后重新启动。
-
修复了Adobe Commerce 2.2.0及更高版本中cron作业为计划使用者而启动的锁定机制的问题,以防止cron作业启动重复的使用者。
-
-
修复了在部署过程中引用压缩文件时导致
not overwritten
和no such file or directory
错误的静态内容压缩进程 (gzip
)问题。 -
修复了在转储过程中,如果未指定存储区域设置,则
php ./vendor/bin/ece-tools config:dump
命令无法从config.php
文件中删除冗余部分的问题。 现在,您可以轻松地在环境之间移动配置文件。 更新到ece-tools
v2002.0.13后,使用改进的config:dump
命令重新生成较旧的config.php
文件。 查看商店设置的配置管理。 -
修复了在
.magento/routes.yaml
文件中的路由配置从apex域重定向到www
域时导致部署阶段错误的问题。 -
修复了
SEARCH_CONFIGURATION
变量的_merge
选项的问题,如果更新的.magento.env.yaml
配置文件中未包含engine
参数,该问题会导致合并结果不正确。 现在,合并操作仅正确覆盖您在更新的.magento.env.yaml
中指定的值,而无需您设置engine
参数。 -
修复了Redis配置问题,该问题导致在云基础架构版本2.2.1及更高版本上为Adobe Commerce错误地启用会话锁定,从而可能导致性能变慢和超时。 现在,默认情况下禁用会话锁定。 此问题是由于Redis会话处理程序包v1.3.4中引入的
disable_locking
参数的默认行为更改所致。 请参阅colimollenhour/php-redis-session-abstract包.
v2002.0.12
-
云的Docker撰写 — 添加了命令 —
docker:build
— 以从云ece-tools
存储库生成Docker撰写配置。 -
更改区域设置 — 现在无需导出和导入配置过程即可更改存储区域设置。 当应用程序处于生产状态并启用SCD_ON_DEMAND时,存储和管理区域设置选项可用。
-
站点地图和Robots — 创建了工作流以添加
robots.txt
文件并为单个域配置生成sitemap.xml
文件,而无需更改基础结构。 -
向导 — 添加了两个向导以帮助您进行云配置:
-
ideal-state
— 配置理想状态以将部署停机时间降至最低 -
master-slave
— 为数据库和Redis配置负载平衡
-
-
模块刷新 — 添加了Cloud命令 —
module:refresh
— 以启用已禁用或未显式启用的模块,类似于在生成期间自动启用的方式。 -
环境配置示例文件 — 我们已将一个
.magento.env.yaml
示例文件添加到ECE-Tools包中,其中包含每个环境变量的详细说明和可能值。- 我们还为
.magento.env.yaml
配置添加了深层验证,以防止部署过程中因意外值而导致失败。 失败时,您现在会收到一条详细的错误消息,其开头为:Environment configuration is not valid. Please correct .magento.env.yaml file with next suggestions:
- 我们还为
-
已添加以下 环境变量:
-
现在,您可以使用新的SCD_MATRIX环境变量为每个主题定义多个区域设置,这会减少要部署的主题文件数量。
-
添加了DATABASE_CONFIGURATION环境变量以自定义部署的数据库连接。
-
新的MIN_LOGGING_LEVEL变量覆盖所有输出流的最低日志记录级别,而不更改代码。
-
-
修复了导致部署和部署后阶段之间出现停机时间的问题。 现在,部署后阶段在部署阶段结束后 立即 开始。
-
修复了未从计划清除成功的cron作业(具有
status = success
的作业)的问题。 -
修复了在部署阶段而非项目的部署后阶段清除缓存的
post_deploy
挂接的问题。 -
修复了在使用具有多个区域设置的SCD时的问题,这会为每个区域设置生成相同的
js-translation.json
文件。 -
已优化
ece-tools
包中的db:dump
命令,以避免锁定表并提高速度。
v2002.0.11
-
配置到非主节点的只读连接 — 此版本添加了配置到非主节点的只读连接以接收只读通信量的功能(对于MariaDB)。Redis和
-
配置向导 — 添加了一个向导以帮助验证您的静态内容部署配置。 查看智能向导.
-
Symfony控制台支持 — 已添加对具有Adobe Commerce 2.3的Symfony控制台4的支持。
-
Cron计划优化 — 改进了队列管理并增强了日志记录以帮助调试cron相关问题。
-
如果
ADMIN_EMAIL
或ADMIN_USERNAME
值与现有管理员帐户相同,则 部署验证失败。 -
删除了2.2.x版本的SOLR支持。 2.1.x版本保留启用SOLR.的功能
-
PRO项目的暂存和生产环境的首次安装现在包含用于Elasticsearch的不同索引前缀,以防止在识别属于每个环境的记录时可能发生冲突。
-
修复了在静态内容部署期间中断旧体系结构的生成阶段的问题。
-
特定于Cron的改进 — 已重新处理cron实施:
-
修复了导致cron队列快速填充的问题。 如今,它以更可靠的方式清理了过时的cron工作。
-
重新组织了cron作业序列,以便单独线程中的所有作业在常规组之前启动。
-
改进了日志记录,以更好地协助调试cron问题。
-
注意 — 此版本解决了许多与cron相关的问题。 如果您当前在 m2修补程序 中使用一些与cron相关的修补程序,请删除它们。
-
-
特定于SCD的改进—
-
您可以在 生成 和de_ploy阶段期间使用
VERBOSE_COMMANDS
和SCD_COMPRESSION_LEVEL
环境变量。 -
修复了在遇到
SCD_COMPRESSION_LEVEL
环境变量的意外值时导致部署失败并出现随机错误的问题。 改进了配置验证以提供有意义的通知。 有关可接受的值,请参阅SCD_COMPRESSION_LEVEL
。 -
修复了
SCD_COMPRESSION_LEVEL
环境变量配置流的行为,以使覆盖按预期工作。 -
修复了导致无法在
.magento.env.yaml
文件 部署 阶段中配置SCD_THREADS
环境变量的问题。
-
v2002.0.10
-
静态内容部署(SCD) — 有一个新的替代部署过程可在请求时生成静态内容(按需)。 这通过生成最关键的资产来减少停机时间并改进缓存处理。
-
新环境变量 — 已添加
SCD_ON_DEMAND
全局环境变量,以便在请求时生成静态内容。 -
部署后挂接 — 为
.magento.app.yaml
文件添加了post_deploy
挂接,该挂接清除缓存并在 容器开始接受连接后 预载(加温)缓存。 它仅适用于在Cloud Console中包含暂存和生产环境的Pro项目以及入门项目。 尽管不是必需的,但是它与SCD_ON_DEMAND
环境变量协同工作。
-
-
优化 — 已优化部署期间移动或复制文件以提高部署速度并降低文件系统的负载。
-
部署日志记录 — 添加了启用Syslog和Graylog扩展日志格式(GELF)处理程序以便在部署过程中输出日志的功能。 查看日志记录处理程序.
-
已添加以下 环境变量:
-
CRYPT_KEY
— 移动数据库时向另一个环境提供密钥。 -
SKIP_HTML_MINIFICATION
—Global 环境变量,该变量跳过复制var/view_preprocessed
目录中的静态视图文件,并在请求时生成缩小的HTML。 -
SCD_ON_DEMAND
—全局 环境变量,以便在请求时生成静态内容。 -
WARM_UP_PAGES
— 您可以列出要用于预加载缓存的页面。 在新的部署后变量中可用。
-
-
修复了本地应用的修补程序中断实例上的部署的问题。 现在,ECE-Tools可以检测到已应用了修补程序。
-
修复了JavaScript捆绑包与GZIP功能之间的冲突。 现在,这些功能可以正常配合使用。
-
修复了在使用早期PHP 7.0.x版本时导致ECE-Tools CLI命令失败的问题。
-
修复了阻止在多个线程中使用压缩策略的静态内容部署的问题。
-
修复了导致管理员登录延迟的Redis会话锁定问题。 此外,此修复程序还可用于2.1.x.
v2002.0.9
-
ece-tools—
ece-tools
包现在支持Adobe Commerce 2.1.x。 -
Redis配置 — 您现在可以使用环境变量配置Redis页面以及默认缓存和Redis会话存储。
-
搜索、AMQP和Redis服务改进 — 我们统一了服务配置流程,以便所有服务的行为现在都相同。 不再支持手动编辑
env.php
文件来配置服务。 您必须改用环境变量或.magento.env.yaml
文件。 -
环境变量—
-
env:STATIC_CONTENT_THREADS
的使用已被弃用,将在未来版本中删除。 请改用SCD_THREADS。 -
已弃用
STATIC_CONTENT_EXCLUDE_THEMES
环境变量。 必须改用SCD_EXCLUDE_THEMES
环境变量。
-
-
日志记录 — 我们简化了有关内置修补操作的日志记录。
-
我们删除了
developer
模式支持和APPLICATION_MODE
环境变量,因为它们导致了意外行为。 -
我们修复了导致与Redis相关的静态内容部署失败的问题。 现在,多线程静态内容部署按设计运行。
-
我们修复了导致用户无法在管理员中保存对配置字段的修改的问题,在运行
app:config:dump
命令后,这些字段标记为敏感。 -
我们添加了对早期版本的
symfony/yaml
的支持以修复与某些包之间的冲突,这些包尚未与最新版本兼容。
v2002.0.8
vendor/magento/ece-patches
与vendor/magento/ece-tools
合并。 您不再需要单独更新vendor/magento/ece-patches
包。新功能:
-
已改进日志记录
-
我们改进了日志消息,以便在构建或部署过程覆盖环境变量时提供更好的解释。
-
您现在可以实时查看安装和升级进度。 跟踪
install_update.log
文件以查看进度。 例如,code language-bash tail -f var/log/install_upgrade.log
-
-
新cron命令 — 您现在可以解锁特定的cron卡作业,而不是使用
cron:unlock
命令停止并重新启动所有此类作业。 在2.1.中不可用 -
统一配置文件 — 您现在可以使用
.magento.env.yaml
文件配置生成和部署阶段。 -
备份配置文件 — 部署过程现在会在部署后自动创建
app/etc/env.php
和app/etc/config.php
配置文件的备份。 我们还添加了新CLI命令以从备份中还原这些配置文件。 -
验证错误疑难解答 — 我们更改了当
config.php
不包含足够的数据以进行静态内容部署时,必须用来解决验证错误的命令。 以前,错误消息指示您运行bin/magento app:config:dump
。 现在,您必须运行php ./vendor/bin/ece-tools config:dump
. -
我们实施了智能修补。 现在,该包不基于Adobe Commerce在云基础架构版本上应用修补程序,而是基于修补的包版本应用修补程序。
已解决的问题:
-
我们修复了导致生成错误的日志记录问题。
-
我们修复了在交互模式下运行部署时导致超时异常的问题。
-
我们修复了在使用压缩策略生成静态内容时导致错误的问题。 在2.1.中不可用
-
我们修复了导致部署脚本无法正确识别暂存环境和生产环境的问题。
-
我们修复了在安装和升级过程中导致网络问题中断数据库连接和导致失败的问题。
-
我们修复了阻止您多次使用
app:config:dump
导出配置文件的问题。 在2.1.中不可用 -
我们修复了导致 管理员 登录延迟的Redis会话 锁定 问题。 在2.1.中不可用
-
我们修复了与版本控制相关的实施问题,该问题会导致与其他基于编辑器的修补模块发生冲突。
-
我们修复了在导入期间导致PHP内存问题的问题。
-
已删除修补程序;修复了
colinmollenhour/credis
v1.6中的错误,以便在云基础架构2.2.1上启用对Adobe Commerce的支持。在2.1.中不可用
v2002.0.7
已解决的问题:
- 我们删除了
var/view_preprocessed
符号链接以修复导致JavaScript缩小冲突的问题。
v2002.0.6
已解决的问题:
-
我们修复了在文件或目录名称包含空格时导致
gzip
错误的问题。 -
我们修复了阻止部署脚本正确识别和启用模块依赖项的问题。
v2002.0.5
新功能:
-
使用环境变量配置cron使用者 — 您现在可以使用新的
CRON_CONSUMERS_RUNNER
环境变量配置cron使用者。 -
配置扫描 — 我们现在在构建/部署过程中扫描关键组件,如果扫描失败,则停止该过程,这样可以防止由于站点处于维护模式而造成的不必要的停机。
-
生成/部署通知 — 我们添加了一个配置文件,您可以使用它设置Slack和/或电子邮件通知,以便在所有环境中执行生成/部署操作。
-
静态内容压缩 — 我们现在在生成和部署阶段使用gzip压缩静态内容。 此压缩与Fastly压缩相结合,有助于减小存储的大小并提高部署速度。 如有必要,您可以使用生成选项或部署变量来禁用压缩。 有关更多信息,请参阅以下主题:
-
配置管理 — 我们现在会在构建阶段在您的Git存储库中自动生成一个
app/etc/config.php
文件(如果尚不存在)。 自动生成的文件仅包含模块和扩展名的列表。 如果文件已存在,则构建阶段将继续正常进行。 如果稍后执行配置管理,则命令会更新文件,而无需其他步骤。 有关详细信息,请参阅部署进程。 -
数据库转储 — 我们添加了一个
magento/ece-tools
CLI命令,用于在所有环境中创建数据库转储。 对于Pro Plan生产环境,此命令仅从三个高可用性节点中的一个转储,因此转储期间写入其他节点的生产数据可能不会被复制。 我们建议先将应用程序置于维护模式,然后再在生产环境中执行数据库转储。 有关详细信息,请参阅备份管理。 -
已取消Cron间隔限制 — 在us-3、eu-3和ap-3区域中配置的所有环境的默认Cron间隔为1分钟。 对于专业集成环境,所有其他区域的默认cron间隔为5分钟;对于专业暂存和生产环境,默认间隔为1分钟。 要修改现有cron作业,请在
.magento.app.yaml
中编辑您的设置,或者为生产/暂存环境创建支持票证。 有关详细信息,请参阅设置cron作业。
已解决的问题:
-
我们修复了由于部署进程在静态内容部署之前调用
cache-clean
操作而导致部署时间较长的问题。 -
我们修复了在生产环境中部署的静态内容生成步骤期间导致错误的问题。
-
我们修复了某些
magento/ece-tools
命令无法将输出记录到stderr
的问题。 -
我们修复了无法在分支中更新
env.php
中的基本URL值的问题。 -
我们修复了导致
magento setup:install
命令添加不安全的前缀(http://
)来保护基本URL的问题。 -
我们修复了阻止修补程序错误导致部署失败的问题。
-
我们修复了导致
ece-tools
无法停止执行并在无法应用修补程序时引发异常的问题。 -
我们修复了在管理员中启用HTML缩小后加载店面时导致错误的问题。
v2002.0.4
已解决的问题:
- 您现在可以通过SSH访问,在所有环境中使用CLI命令手动重置卡住cron作业。 部署过程自动重置cron作业。
v2002.0.3
已解决的问题:
- 我们修复了由于Redis读取/写入时间过长而导致页面超时的问题。 您现在可以在Redis配置中使用
disable_locking
参数以防止出现此问题。
v2002.0.2
已解决的问题:
- RabbitMQ配置进程现在将自动获取所有必需的参数。
v2002.0.1
新功能:
-
云基础架构上的Adobe Commerce现在支持范围和静态内容部署策略。 我们为静态内容部署策略添加了默认设置为
quick
的–s
参数。 您可以使用环境变量SCD_STRATEGY自定义这些策略,并将其用于生成和部署操作。 此变量支持选项standard
、quick
或compact
。 如果您选择compact
,我们将使用1
覆盖STATIC_CONTENT_THREADS
值,这可能会降低部署速度,尤其是在生产环境中。 在2.1.中不可用 -
我们在环境中创建了一个日志文件,用于捕获和编译生成和部署操作。
var/log/cloud.log
文件位于根应用程序目录中。
已解决的问题:
-
已重构
ece-tools
包,使其与Adobe Commerce在云基础架构2.2.0及更高版本上兼容。 -
我们修复了导致
ece-tools
无法停止执行并在无法应用修补程序时引发异常的问题。 -
我们修复了在生成期间跳过依赖项注入(di)编译时导致引发异常的问题。
-
我们修复了导致部署过程覆盖
env.php
文件中的自定义Redis配置的问题。 -
我们修复了导致重定向循环的问题,该问题导致默认安全管理员禁用重定向循环。
v2002.0.0
初始版本
适用于Adobe Commerce on cloud infrastructure 2.2.0的ece-tools
的初始版本。