【问题标题】:How to track a dependency between 2 of my repositories如何跟踪我的两个存储库之间的依赖关系
【发布时间】:2021-02-21 13:20:58
【问题描述】:

我使用 React Native 和一个 API 开发了一个移动应用程序,移动应用程序可以从中检索数据。为了对我的项目进行版本控制,我使用了两个 git 存储库(一个用于应用程序,一个用于 API)。

当我必须编写代码将应用程序连接到 API 时,有时我会感到困惑。 例如,我可以更新 API,使其不向后兼容当前版本的应用程序,而忘记更新应用程序以使其与新版本的 API 兼容。

所以我的问题是: 有没有办法:

  • 声明应用程序仓库和API仓库之间的依赖关系?
  • 并指出应用程序的特定版本(例如 2.1.3)与 API 的特定版本(例如 1.X.X)兼容?
  • 并使用 Github 的dependabot 自动跟踪两个存储库之间的兼容性问题?

【问题讨论】:

    标签: git react-native github dependencies repository


    【解决方案1】:

    我很难理解应用程序和 API 是如何存在使它们不兼容的依赖关系,因为它们是 2 个独立的应用程序,还是它们以某种方式安装在一起?

    无论如何,如果您需要将 API 集成到您的 App 中,您可以使 API 成为 App 本身的依赖项。

    无论如何,Github 都有自己的 api,您可以请求获取每个 repos 信息,但这感觉就像一个应用程序或此类任务的繁重工作流程。

    【讨论】:

    • 不,App 和 API 是完全分开的。假设我更新了 API 的路由,例如通过更改 URL 的形式或更改参数的数量。此更新将使应用程序无法与此路由通信,直到应用程序本身更新为与新路由兼容。
    • 这更有意义。在这种情况下,您可以使用多种解决方案。 1. UnitTest:根据您的语言,您可以在您的应用程序中设置一组测试,其中可能包括戳 API 的 Route 以及使用 GithubActions 构建和测试您的应用程序推送到 Master。你可以阅读更多here 2. 你可以通过将旧路由重定向到新路由来防止弃用,以防发生变化,或者添加可选参数,但我会说这是一个习惯。
    • 感谢 Alex 的回答,抱歉耽搁了。第一个解决方案似乎很有趣,我想知道是否有办法让 github 在出现兼容性问题时自动通知/警告我。例如,假设 API 已通过一组提交更新,应用程序现在不再兼容,因此必须更新才能与 API 连接。如果 github 可以检测到并通知我,那不是很好吗?
    • 确实,有一些解决方案:您可以在 API 中设置 UnitTest,这与您在应用程序中使用的路由相关联。在 master 上的 Push/Merge 上,您可以运行 Build 然后运行测试,如果操作失败,Github 会向您发送电子邮件和通知。
    • 好的。如果我根本不测试我的仓库怎么办(我真的不习惯测试),还有其他方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多