12. 发布模式更改
5m

概述

我们快到了!让我们快速回顾一下将更改推送到 tutorial-land 生产环境的过程。

在本课中,我们将

  • 使用 将模式发布到模式注册表
  • 检查 Studio 中的结果

协调模式和代码更改

到目前为止,我们只讨论了模式更改以及如何将它们发布到。但是我们不能忘记我们的代码库更改,我们的 !这些包括我们对函数所做的更改,以使我们的模式正常工作,以及模式文件本身。我们需要将本地更改部署到生产环境。

因为我们只是在 tutorial-land 中使用本地,所以我们不需要实际部署任何更改。您可以在此 Apollo 技术说明中了解更多有关在生产环境中协调模式和代码更改的信息。

发布模式更改

我们确实需要将新的 模式发布到

注意:在发布模式之前,最好运行模式检查并确认它已通过。这通常在 CI/CD 管道中处理。

为此,我们将使用rover subgraph publish命令。我们不需要这次包含路由 URL,因为它没有更改。

rover subgraph publish GRAPHREF@GRAPHVARIANT \
--schema schema.graphql \
--name soundtracks

您需要确认我们正在发布一个localhost URL。如果一切顺利,我们应该看到终端输出,其中包含一条消息,确认已发布,并且已更新!

在 Studio 中检查启动

模式发布到注册表后会发生什么?一个开始了!让我们在 Studio 中看看这个过程。

导航到启动页面。点击列表中的最新

https://studio.apollographql.com

The Studio Launches page showing the results of the latest launch

我们可以看到,此特定启动序列部分遵循我们之前讨论过的步骤:

  • 构建已完成指的是构建(也称为)的过程。

  • 模式已发布指的是可供 Apollo Uplink 使用。

  • 启动已完成 不言自明!我们的启动成功完成!🎉

在右侧,我们还可以查看输出以及模式更改的摘要。

如果一切看起来都很正常,我们应该能够对新的recommendedPlaylists 执行查询。

🚀 生产环境中的功能!

首先,确保您的本地正在运行。在一个新的终端窗口中,导航到Router文件夹,然后运行:

路由器
APOLLO_KEY=<APOLLO_KEY> APOLLO_GRAPH_REF=<APOLLO_GRAPH_REF> ./router --config supergraph-config.yaml

注意:请记住,您可以在您的.env文件中找到APOLLO_KEYAPOLLO_GRAPH_REF的值。

接下来,让我们转到资源管理器(这次在Studio中,而不是在沙盒中!),并运行那个梦想

query GetRecipeWithPlaylists {
randomRecipe {
name
description
ingredients {
text
}
instructions
recommendedPlaylists {
id
name
description
tracks {
id
name
durationMs
explicit
}
}
}
}

您应该看到数据返回,包含我们所需的一切。我们的启动成功了!🎉

https://studio.apollographql.com

Explorer - returning data from the dream query

任务!

主要收获

  • 一个启动代表将模式更新应用到的完整过程。当模式发布到时,会触发
  • 要发布,请使用rover subgraph publish命令。
  • 我们可以通过 Studio 启动页面检查启动的结果。

结论

恭喜您!虽然我们从一个简单的开始,但我们使用了联邦和的原理,将一个全新的 API 引入其中。使用实体,我们将餐点与音乐联系起来,让任何有心情做新菜的人都能找到灵感。我们使用rover dev确保这些全新且令人兴奋的更改能够安全地发布。

感谢您一直陪伴我们踏上探索和 Hot Chocolate 的旅程。请查看其他提供的课程,并继续构建您的图!

上一步

分享您关于本课的问题和评论

本课程目前处于

测试版
.您的反馈对我们改进课程有很大帮助!如果您卡住了或感到困惑,请告诉我们,我们会帮助您。所有评论都是公开的,必须遵守 Apollo 行为准则。请注意,已解决或已处理的评论可能会被删除。

您需要一个 GitHub 帐户才能在下方发布。还没有吗? 请在我们的 Odyssey 论坛中发布。