概述
新功能令人兴奋,我们渴望将银河系坐标项目推向世界。但我们需要注意,在为客户端提供测试这些新查询的机会时,不要破坏现有功能和字段在单独的安全环境中(如我们的临时环境)。
现在,我们在注册表中只有 超级图架构的生成版本。理想情况下,我们想要的是类似于我们的 Heroku 设置:为我们的图形的临时和生成版本设置单独的环境,以便我们可以在将其发布到我们的实时站点之前测试我们的架构更改。幸运的是,GraphOS有一个专门用于此的功能:图形变体!
在本课中,我们将
- 了解什么是 图形 变体是
- 了解 图形 变体如何帮助我们的开发工作流
什么是图形变体?
A 图形变体是由特定环境(比如预演或生产)中运行的图形实例(比如分段或生产环境)。在 GraphOS,各 图形 的 变体 有自己的模式、指标、变更记录和 作业 记录。
到目前为止,我们只对 图形 的一个版本进行操作:现正处于生产阶段的版本。实际上,这是我们的第一个 变体,默认名称为 current
。处于生产阶段的 GraphOS 路由器 通过先前设置的环境变量(APOLLO_KEY
和 APOLLO_GRAPH_REF
)连接到这项图形 变体。
使用 图形 变体 有助于我们测试自己的模式变更,并在生产环境中立即执行这些变更,从而对变更进行验证。图形变体使用方法会根据团队和公司用例以及部署实践而有所不同。
对于 Airlock,我们想要设置一个 staging
图形 变体 并且将它连接到 路由器 的预演版本(使用对应的环境变量)。我们将在下一节讨论如何执行该操作。
注意:在这门课程中,我们将重点关注联合图或超图,但非联合图也可以使用图变体
超图中的变体
让我们重新回顾我们超图之旅
我们从航海 I了解到,团队构建自己的子图并将自己的子图架构发布到 Apollo 架构注册表
我们还可以选择选择哪个变体来发布子图模式。如果我们未指定变体名称,我们的变更将默认发布到当前
变体。(我们将在下一节中仔细了解如何在向特定变体发布内容。)
将子图发布到变体后,其余过程保持不变!此变体会将其模式提供给 Apollo Uplink,然后路由器即可获取模式。
我们可以拥有任意数量的变体。这可以让我们轻松启动新的图形版本以进行测试,并在提交到来之前进行试用。
练习
要点
- 一个图表 变体表示在特定环境中运行的图形实例。
- 托管联合过程保持不变,但新增了可以选择要将模式发布到的变体。
- 图形 变体 可用于联盟图形和非联盟图形。
接下来
在下一课中,我们将学习为暂存环境创建一个 图形 变体。
在此课程中分享您的问题和意见
您的反馈可以帮助我们改进!如果您遇到困难,请告诉我们,我们会帮助您的。所有评论都是公开的,且必须遵循 Apollo 行为准则。请注意,已解决或已处理的评论可能会被删除。
您需要一个 GitHub 帐号才能在下方发帖。还没有吗? 不妨在我们的 Odyssey 论坛中发帖。