概述
您很高兴开始进行更改,但让我们确保我们实际上有一个超图要进行更改。在本课中,我们将:
- 使用 Railway 部署 recipes 子图服务器。
- 更改 子图的路由 URL。
- 设置和验证 Rover CLI。
部署 recipes 子图服务器的副本
本课程重点在于对超图进行更改,其中涉及对其子图进行更改!在“GraphOS:基础知识”课程中,我们使用了现有 Poetic Plates API 已部署的版本(这成为我们的第一个子图,称为 recipes)。现在,让我们确保您拥有要进行更改的自己的副本。
我们将使用 Railway来部署我们的子图,但您可以随意使用您熟悉的任何其他托管平台。
若要开始,请点击下面的按钮 ⬇️
然后在 Railway 中完成部署设置步骤。
在 Railway 上部署成功?太棒了!最后一步:我们希望 查询我们在互联网上的公共 URL 上的服务器。为此,我们需要生成一个域名。
转至应用的 设置选项卡,然后点击 生成域名按钮,该按钮位于 域名标题下方。
这将自动创建我们的生成 URL。几分钟后,你应该会看到显示你的服务器已准备好 查询的页面。
克隆代码库
接下来,我们克隆代码库并确保我们已设置好本地开发环境。
要找到代码库,请转到 Railway 应用的 设置,向下滚动到 服务并找到 源代码库链接。
点击链接以找到你的 GitHub 代码库副本。
将该代码库克隆到你的本地环境。
在代码编辑器中打开它。
运行
npm install在终端中。运行
npm run dev。此操作以开发模式启动服务器,这意味着你在文件中所做的更改将自动重新启动服务器。如果一切顺利,当你打开 https://:4001时,你应该看到准备 查询架构的 Explorer。运行以下测试 查询并确认你已获得数据!
query GetRandomRecipe {randomRecipe {idname}}
超图设置
我们的子图已经可以用了,接下来让我们设置我们的云端超图吧!
如果你已经完成了前一门课程,那么你应该已经拥有一个现有的云端超图!不过目前它使用的是 Apollo 托管的子图。不过我们要把它修复,使其指向您在前一步骤中通过 Railway 托管的自己部署的 URL。
编辑recipes子图路由 URL
导航到GraphOS Studio并打开你的超图的主页。
转到子图页面。
您应该已经在列表中看到
recipes子图,其路由 URL 指向 https://poetic-plates-recipes-api.herokuapp.com/。我们需要将此更改为 您的 Railway URL。单击
recipes子图旁边的三个点,并单击 编辑路由 URL。https://studio.apollographql.com/
粘贴Railway生成的URL,然后点击 更新。
https://studio.apollographql.com/
更改需要一些时间才能应用并部署到我们的路由器!
检查您的超级图
在 Studio 中,导航到 Explorer 页面并粘贴此查询。
query GetRandomRecipe {randomRecipe {idnamereadyTimeservingsingredients {text}}}
您应该可以获得一些数据!
Rover 设置
Rover是 Apollo 的命令行界面 (CLI) 工具,可帮助开发者处理图并与GraphOS交互。它是一个非常实用、用途广泛的工具,可用于本地开发和 CI/CD。我们可以使用它来运行检查、将模式发布到模式注册表,以及其他更多操作。
安装 Rover
打开一个终端,并运行适合您计算机环境的安装命令
对于 Linux / Mac OS
curl -sSL https://rover.apollo.dev/nix/latest | sh对于 Windows PowerShell 安装程序
iwr 'https://rover.apollo.dev/win/latest' | iex注意:您可以在Apollo 文档中找到其他安装方法。
通过在终端中的任意位置运行
rover来验证安装是否已完成。如果它输出一个使用选项和子命令的列表,Rover,那就太好了!命令行界面已安装并准备就绪。
验证 Rover
我们需要一个 API 密钥来验证 Rover!由于我们开始在本地工作,我们将使用一个 个人 API 密钥。(还有另一种称为 图形 API 密钥的 API 密钥,用于 CI/CD 环境,稍后我们将了解此类 API 密钥!)
在 Studio 中,单击右上角的个人资料图片,然后 个人设置。
单击 API 密钥。
单击 创建新密钥。
https://github.com
为其命名,如“Local Dev”。
复制您的密钥,您将无法再次看见它!
在终端中,运行
rover config auth然后粘贴您的 API 密钥。
为检查是否生效,运行
rover config whoami您将在其中看到显示个人资料信息。一切就绪!
重点
- 若要创建 超图,您需要 GraphQL API 终结点。这将成为超图的第一个 子图。
- 您可以通过 Studio 子图页面更改 子图的路由 URL。
- 在本地开发机器上工作时,您可以使用 个人 API 密钥验证 Rover。
接下来
我们已经完成了我们的 子图、超图和 Rover,呼!我们需要的所有部分。这太棒了,一切都运行良好,但我们来这里是为了学习如何放心地对超图进行更改。让我们开始吧。
分享您对此课程的疑问和评论
本课程目前处于
您需要一个 GitHub 账户才能在下面发布。没有账户? 改在我们的 Odyssey 论坛中发布。