E:验证路由时出错。在暂存或生产部署期间出现yaml错误

本文为Adobe Commerce提供了云基础架构问题的解决方案,其中您收到​ "E:验证routes.yaml时出错" ​错误消息,当时尝试将项目部署到暂存或生产环境。

受影响的版本

  • 云基础架构上的Adobe Commerce,所有版本

问题

重现步骤

通过将代码推送到暂存或生产环境来触发部署。

预期行为

部署成功。

实际行为

部署被阻止,日志中显示以下错误消息:

部署应用程序验证配置E:验证routes.yaml时出错。
为您的群集配置了以下域,但未在routes.yaml文件中定义路由:

​- store1.example.com
​- store2.example.com
​- test-store.example.com

使用当前的routes.yaml配置,
  这些域将无法提供服务!

要继续,请参阅此处获取疑难解答说明:
 /help/troubleshooting/deployment/e-error-verifying-routes-yaml-error-during-staging-or-production-deploy.md

原因

如果routes.yaml文件中缺少已添加到项目中的任何其他域的路由配置,则会出现此错误。

作为自助路由配置的Adobe Commerce自助启用升级的一部分,我们添加了部署前检查,以确保项目中的所有域已在routes.yaml文件中配置路由。 如果有任何域缺少路由配置,则会阻止部署。

解决方案

若要解决阻止的部署,请使用以下任一方法更新routes.yaml文件,以便为错误消息中列出的域配置路由:

  • 在升级过程中应用Adobe Commerce提供的修补程序。
  • 手动将缺少的路由配置添加到routes.yaml文件。

方法1:应用Adobe Commerce提供的修补程序

  1. 查找标题为“为<project_ID>启用自助服务功能”的最新Adobe Commerce支持票证。
  2. 按照票证中的说明应用补丁程序,这会更新云环境的路由配置。
  3. 提交с并推送更改以重新部署项目。

方法2:手动添加缺少的路由配置

  1. 要使用相同的路由配置为项目中的所有域提供服务,请更新routes.yaml文件,为项目中的默认域和所有其他域添加路由模板,如以下示例所示:

    code language-yaml
    "http://{default}/":
        type: upstream
        upstream: "mymagento:http"
    "http://{all}/":
        type: upstream
        upstream: "mymagento:http"
    
  2. 提交с并推送更改以重新部署项目。

有关更新路由配置的详细说明,请参阅我们的开发人员文档中的Adobe Commerce云>配置路由

NOTE
如果项目配置指定了不再使用的域,请完成以下步骤以便尽早从项目中将其删除: 1. 提交支持工单,其中包含要从项目环境中移除的域的列表。 2.支持团队删除域后,更新routes.yaml文件以删除对过时域的任何引用。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a