概述
您很高兴开始进行更改,但让我们确保我们实际上有一个超图要进行更改。在本课中,我们将:
- 使用 Railway 部署 recipes 子图服务器。
- 更改 子图的路由 URL。
- 设置和验证 Rover CLI。
部署 recipes 子图服务器的副本
本课程重点在于对超图进行更改,其中涉及对其子图进行更改!在“GraphOS:基础知识”课程中,我们使用了现有 Poetic Plates API 已部署的版本(这成为我们的第一个子图,称为 recipes)。现在,让我们确保您拥有要进行更改的自己的副本。
我们将使用 Railway来部署我们的子图,但您可以随意使用您熟悉的任何其他托管平台。
若要开始,请点击下面的按钮 ⬇️
然后在 Railway 中完成部署设置步骤。
在 Railway 上部署成功?太棒了!最后一步:我们希望 查询我们在互联网上的公共 URL 上的服务器。为此,我们需要生成一个域名。
转至应用的 设置选项卡,然后点击 生成域名按钮,该按钮位于 域名标题下方。
这将自动创建我们的生成 URL。几分钟后,你应该会看到显示你的服务器已准备好 查询的页面。
克隆代码库
接下来,我们克隆代码库并确保我们已设置好本地开发环境。
要找到代码库,请转到 Railway 应用的 设置,向下滚动到 服务并找到 源代码库链接。
点击链接以找到你的 GitHub 代码库副本。
将该代码库克隆到你的本地环境。
在代码编辑器中打开它。
运行
npm install
在终端中。运行
npm run dev
。此操作以开发模式启动服务器,这意味着你在文件中所做的更改将自动重新启动服务器。如果一切顺利,当你打开 https://127.0.0.1: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 论坛中发布。