ECE-Tools发行说明
ece-tools包是一组用于管理和部署云项目的脚本和工具。 这些发行说明介绍了此包的最新改进,此包是适用于Commerce的Cloud Tools Suite的一部分。
ece-tools
包的最新版本的信息,请参阅升级ECE工具。ece-tools
包使用以下版本控制序列: 200<major>.<minor>.<patch>
发行说明包括:
- 新功能
- 修复和改进
v2002.2.0 latest
发行日期: 2024年10月7日
- MariaDB 11.4 — 已添加MariaDB 11.4的支持。
- 重构的代码 — 已删除对旧PHP版本7.4、7.3、7.2和相关库的支持。
- 升级了单色版本 — 添加了对单色版本3.6的支持。
- 适用于RabbitMQ、MariaDB和PHP的验证器 — 修复了生成有关错误服务版本的误导性消息的验证器。
v2002.1.19
发行日期: 2024年5月21日
- Lua — 已为CACHE_CONFIGURATION添加选项useLua。
- 验证器 — 已更新Redis和RabbitMQ新版本的验证器。
v2002.1.18
发行日期: 2024年4月8日
- PHP — 添加了对PHP 8.3的支持。
- 验证器 — 已更新EOL验证器。
v2002.1.17
发行日期: 2024年1月16日
- Elasticsearch和OpenSearch的验证器 — 修复了在启用LiveSearch时生成误导性消息以安装Search服务的验证器。
- 部署警告 — 修复了导致出现非空文件夹部署警告的问题。
v2002.1.16
发行日期: 2023年10月16日
- ENABLE_WEBHOOKS全局环境变量 — 添加了ENABLE_WEBHOOKS全局变量,以便与Commerce Webhooks一起使用来连接到外部端点,如App Builder运行时操作或第三方清单管理系统。
v2002.1.15
发行日期: 2023年7月31日
- 错误代码 — 已更新错误代码架构和错误代码文档生成器。
- 自定义Redis模型的验证器 — 已更新自定义Redis后端模型的验证器。 查看缓存配置的示例。
- RabbitMQ的验证器 — 添加了对RabbitMQ 3.11的支持
- 修复了错误的链接 — 修复了欢迎电子邮件模板中指向载入文档的错误链接。
v2002.1.14
发行日期: 2023年3月10日
- PHP — 添加了对PHP 8.2的支持。
- 服务验证器 — 更新了Commerce 2.4.6所需服务的验证器:MariaDB 10.6、Redis 7.0、PHP 8.2、OpenSearch 2.x和RabbitMQ 3.9。
-
ece-tools db-dump — 修复了导致
db-dump
操作过早停止的问题。
v2002.1.13
发行日期: 2022年10月27日
- 已添加对Adobe Commerce 的Adobe I/O事件的支持。 扩展开发人员现在可以使用Adobe I/O事件框架将云实例中的Commerce事件信息发送到其为AdobeApp Builder编写的应用程序中。 Adobe Commerce的Adobe I/O事件位于“合作伙伴预览”中。
- OPcache配置的验证器 — 已添加验证器以检查排除路径的OPcache配置。
-
修复了GraphQL缓存配置的问题 — 现在,ECE-Tools在
app/etc/env.php
文件中保留cache
配置中的GraphQLid_salt
值。
v2002.1.12
发行日期: 2022年9月13日
-
启用
synchronous_replication
— 启用MYSQL_USE_SLAVE_CONNECTION
时,ECE-Tools在app/etc/env.php
文件中设置synchronous_replication=>true
。 此配置仅影响Commerce 2.4.6+。 在部署变量. 中查看MYSQL_USE_SLAVE_CONNECTION
变量说明 -
OpenSearch — 添加了配置和设置下一个Adobe Commerce版本2.4.6的
opensearch
引擎的功能。请参阅设置OpenSearch服务。
v2002.1.11
发行日期: 2022年8月4日
- ElasticSuite Validator和OpenSearch — 修复了在安装OpenSearch时的ElasticSuite完整性检查验证器问题。
- 部署命令的返回类型 — 修复了部署命令的返回类型。
- 安装Commerce 2.4.5时出现了 RabbitMQ问题 — 修复了安装Commerce 2.4.5时出现的RabbitMQ崩溃问题。
v2002.1.10
发行日期: 2022年3月31日
- Elasticsearch7.10 — 更新了验证器以支持Elasticsearch的7.10版本。
v2002.1.9
发行日期: 2022年3月10日
-
OpenSearch — 添加了对Adobe Commerce版本2.4.4、2.4.3-p2和2.3.7-p3.的OpenSearch的支持
-
PHP — 添加了对PHP 8.1的支持。
-
symfony/process — 添加了与symfony/process ^5.3的兼容性。
-
使用者多个进程 — 添加了
multiple_processes
选项,以便您可以指定每个使用者要衍生的进程数。 在部署变量.中查看CRON_CONSUMERS_RUNNER
变量说明 -
OpenSearch方案和完整主机路径 — 添加了配置Elasticsearch方案和完整主机路径的功能。
-
AWS S3 — 更改了AWS S3启用方法。
-
修复driver_options读取器 — 已添加
ece-tools
从验证器的env.php
文件中读取DB连接的driver_options配置。
v2002.1.8
发行日期: 2021年10月25日
-
备用转储位置 — 添加了
--dump-directory
选项,以便您可以为数据库转储选择目标目录。 现在/app/var/dump-main
是数据库转储的默认目标目录。 请参阅备份管理:转储数据库 -
更新单一日志 — 已将
monolog
包所需的最低版本更新为^2.3
。 - 更新Symfony — 已更新Symfony依赖项以便与Adobe Commerce 2.4.4兼容。
-
功能/解决自动加载 — 修复了部署到集成环境并看到
CRITICAL: [9] Required configuration is missed in autoload section of composer.json file.
错误时的问题。
v2002.1.7
发行日期: 2021年7月29日
配置更新—
-
已添加对Composer 2.0.的支持
-
更新了
symphony/console
的编辑器要求 — 更新了symphony/console
包的ECE-Toolscomposer.json
版本要求,以修复导致di:compile
命令失败并出现以下错误的问题:Incompatible argument type: Required type: int. Actual type: string
-
更新了软件生命周期结束检查(
eol.yaml
)以包含Elasticsearch7.9.x。
v2002.1.6
发行日期: 2021年4月20日
-
Redis身份验证凭据 — 已添加在部署阶段从
relationships
属性读取Redis授权凭据的功能。 -
Elasticsearch授权凭据 — 添加了在部署阶段从
relationships
Elasticsearch读取资产授权凭据的功能。 -
专用会话存储服务 — 已添加
redis-session
作为会话存储的第二个选项。 您可以使用redis-session
服务来存储会话信息,并使用redis
服务来缓存以提供更好的性能。 -
已弃用的SPLIT_DB消息 — 为Adobe Commerce 2.4.2的已弃用
SPLIT_DB
选项添加了验证器警告和严重消息,并在Adobe Commerce 2.5.0中删除了该选项。 -
来自关系的Elasticsearch版本 — 修复了服务验证器,以便从Cloud Docker和集成环境中的
relationships
Elasticsearch中检索正确的属性。 -
灵活的Redis端口验证—Redis现在可以从
server
URL验证自定义缓存连接中的端口。 例如,您可以将端口号添加到服务器URL中,如下所示:server: 'tcp://rfs-store-simple-page-cache:26379'
。 这有助于防止port
选项缺失或不正确的验证错误。 -
升级到Adobe Commerce 2.4.2 — 修复了在升级到Adobe Commerce 2.4.2后要求用户手动运行
bin/magento setup:upgrade
以使他们的站点正常运行的问题。
v2002.1.5
发行日期: 2021年2月1日
-
远程存储 — 添加了
REMOTE_STORAGE
环境变量,以启用云项目以使用存储服务(如AWS S3)远程存储媒体文件。 此配置选项是ECE-Tools包的一部分,但在云基础架构上的Adobe Commerce上不受支持。 -
新
cloud:config:validate
命令 — 添加了命令php vendor/bin/ece-tools cloud:config:validate
,用于在将更改推送到远程云环境之前验证.magento.env.yaml
配置。 -
刷新opcache — 添加了
opcache.enable_cli
PHP选项的支持,可在运行部署挂接之前刷新OPcache。 此配置将重置缓存配置,以确保当前配置设置应用于每个部署。 -
验证Aurora DB — 已更新数据库服务验证,以便它与Aurora数据库兼容。
-
新SCD_NO_PARENT环境变量 — 已添加
SCD_NO_PARENT
环境变量(适用于Adobe Commerce >=2.4.2)以管理父主题的静态内容生成。 -
内存限制和命令 — 修复了当
cloud.log
文件的大小超过PHP memory_limit时,php vendor/bin/ece-tools
命令无法运行的问题。 现在,我们只从日志文件读取较小的数据子集,而不是将整个cloud.log
文件读入内存。 -
自定义数据库连接 — 修复了未使用为
DATABASE_CONFIGURATION
定义的自定义数据库连接的.magento.env.yaml
配置问题。 未将连接设置添加到app/etc/env.php
. -
空错误日志 — 修复了
cloud.error.log
为空时导致部署失败的问题。 -
MariaDB 10.3验证 — 修复了Adobe Commerce 2.3.6-p1的MariaDB 10.3验证。
-
缓存:刷新日志记录 — 改进了日志条目以指示
cache:flush
步骤的开始和完成。
v2002.1.4
发行日期: 2020年11月19日
-
修复了在
SEARCH_CONFIGURATION
环境变量中指定的搜索引擎是elasticsearch
以外的值时导致部署失败的问题。
v2002.1.3
发行日期: 2020年11月9日
基础架构更新—
-
当静态内容设置为在生成阶段中部署时,为只读
pub/static
目录添加了ECE-Tools支持。 -
已添加对Elasticsearch7.9和Redis 6的支持,以便与即将发布的Adobe Commerce版本兼容。
-
已更新ECE-Tools
composer.json
以添加质量修补程序工具所需的依赖项。 这修复了ECE-Tools和magento-cloud-patches包之间存在的循环依赖关系。
验证和日志改进—
-
已添加搜索引擎验证,以确保在云基础架构2.4及更高版本上为Adobe Commerce设置
elasticsearch
。 如果验证失败,部署将停止,并显示一条关键错误消息,建议修复此问题。 查看严重错误,部署阶段。 -
已添加Elasticsearch验证,以检查Elasticsearch服务版本与Adobe Commerce版本之间的兼容性。
-
更新了Elasticsearch兼容性错误消息,以显示与Adobe CommerceElasticsearch模块兼容的Elasticsearch版本。 现在,错误消息会提供要在您的Cloud基础架构中安装的特定Elasticsearch版本,以便与您的Adobe Commerce版本使用的Elasticsearch模块兼容。 查看警告错误,部署阶段。
-
为无效的
MAGE_MODE
环境变量设置添加了警告错误2026
和2027
。 唯一有效值为production
。 在此修复之前,可以将MAGE_MODE
设置为developer
,而不会出现部署错误,但只会在以后尝试写入只读文件时导致错误。 查看警告错误. -
修复了Redis、RabbitMQ和MySQL服务的验证,以确保这些版本与Adobe Commerce版本兼容。 这些服务的有效版本现在写入
cloud.log
. -
已更新
cloud.log
以包含在缓存预热期间发送请求的并发请求限制。 此值在WARM_UP_CONCURRENCY部署后变量中进行配置。
CLI命令更新—
-
添加了CLI命令(
cloud:config:create
和cloud:config:update
),用于创建和更新.magento.env.yaml
文件,其配置可以包括一个或多个生成、部署和部署后变量。 请参阅从CLI创建配置文件。
环境变量更新—
-
已添加SKIP_COMPOSER_DUMP_AUTOLOAD内部版本变量。 将变量设置为
true
会在安装Cloud Docker for Commerce期间停止应用程序运行composer dump-autoload
命令。 变量仅与具有可写文件系统(为使用./vendor/bin/ece-docker build:compose --with-test
进行测试和开发而创建)的Commerce容器的Cloud Docker相关。 对于此类安装,跳过composer dump-autoload
命令可防止在运行尝试从已删除的generated
目录访问文件的其他命令时出现错误。
v2002.1.2
发行日期: 2020年8月5日
验证和日志改进—
-
添加了
schema.error.yaml
文件,该文件包含在生成、部署和部署后过程中可能发生的所有错误和警告通知以及解决错误的建议。 此文件中的信息也可在 Commerce云指南 中找到。 查看ece-tools🔗的错误消息引用。 -
已将云错误日志(
/var/log/cloud.error.log
)条目更改为JSON格式,以使该日志更易于以编程方式解析。 -
添加了额外的错误检查以生成、部署和部署后处理,并改进了现有检查:
-
错误代码2026 — 未能将构建阶段生成的一些数据恢复到装入的目录
-
错误代码3004 — 无法创建备份文件
-
错误代码102 — 添加了对
env.php
文件不可写时发生的问题的额外检查
-
-
已添加 QUALITY_PATCH 环境变量,以指定要在部署过程中应用的一个或多个质量修补程序。 查看生成变量.
v2002.1.1
发布日期: 2020年6月25日
-
基础架构更新—
-
日志记录改进 — 改进了日志跟踪功能,将退出代码分配给严重的部署错误,并在错误消息通知和日志事件中公开退出代码。 查看ece-tools🔗的错误消息引用。
-
改进了数据库转储的进程(
vendor/bin/ece-tools db-dump
)并更新了日志消息,以明确说明数据库转储操作将应用程序切换到维护模式,停止使用者队列进程,并在转储开始之前禁用cron作业。 -
修复了一个问题,以确保在部署到暂存环境和生产环境时项目URL正确更新。 现在,
ece-tools
在项目路由配置中设置了primary:true
属性的路由使用该URL。 查看部署变量. -
已更新用于应用修补程序的
generate.xml
生成方案工作流。 必须提前应用修补程序以更新Adobe Commerce,从而修复可能导致di:compile
和module:refresh
步骤失败的任何问题。 -
修复了安装过程中错误返回
Crypt key missing
错误的问题。crypt/key
值在安装期间自动生成。
-
-
服务更新—
- 添加了对PHP 7.4和MariaDB 10.4的支持。
-
环境变量更新—
-
CLI命令更新—
-
更新了以下CLI命令,其中包含用于更详细日志记录的选项:
app:config:dump
app:config:import
module:enable
每个调用的日志记录级别由
.magento.env.yaml
文件中VERBOSE_COMMANDS
变量的配置决定。
-
-
验证改进—
-
Elasticsearch7.x兼容性检查 — 已更新Elasticsearch7.x软件兼容性检查的Elasticsearch验证。
-
更新了服务版本和EOL验证检查 — 更新了验证以根据Adobe Commerce 2.4检查已安装的服务版本。要求。
-
修复了一个验证问题,以便仅在
.magento.app.yaml
文件中缺少post-deploy
挂接配置时显示以下部署后警告消息:code language-text Your application does not have the "post_deploy" hook enabled.
-
已添加Zend Framework依赖项验证 — 已添加已迁移到Laminas项目的Zend Framework的编辑器依赖项验证。 如果缺少所需的依赖关系,则在构建过程中会显示以下错误消息。
code language-text Required configuration is missing from the autoload section of the composer.json file. Add ("Laminas\Mvc\Controller\Zend\": "setupsrc/ Zend/Mvc/Controller/") to the `autoload -> psr-4` section. Then, re-run the "composer update" command locally, and commit the updated composer.json and composer.lock files.
请参阅验证Zend框架依赖项。
-
已添加
env.php
文件和数据的验证 — 已在安装和升级过程中添加对env.php
文件和数据的检查。-
如果安装中缺少
env.php
文件,并且未在.magento.app.yaml
文件中指定crypt/key
值,则部署将失败,并出现以下通知:code language-text The crypt/key key value does not exist in the ./app/etc/env.php file or the CRYPT_KEY cloud environment variable``Missing crypt key for upgrading Magento`.
-
如果安装不包含
env.php
文件,或配置仅包含一个缓存类型,则在升级过程中将运行cron:enable
命令以恢复包含所有cache_types
的文件。 以下通知将添加到日志中:code language-text Magento state indicated as installed but configuration file app/etc/env.php was empty or did not exist. Required data will be restored from environment configurations and from the .magento.env.yaml file.
-
-
v2002.1.0
发行日期: 2020年2月6日