【问题标题】:Git hook for React Native / Expo app to prevent compile-time errors?用于 React Native / Expo 应用程序的 Git 挂钩以防止编译时错误?
【发布时间】:2023-03-19 07:28:01
【问题描述】:

我正在处理一个新的开源项目,它似乎经常将语法错误提交给 master 分支。我想配置一个 git 钩子,它会在将工作分支推送到 github 之前通知贡献者基本错误。

我如何设置一个 git 挂钩来拒绝我们的 React Native expo 应用程序出现简单构建错误的代码?

目前看来,这个项目没有任何 package.json 脚本来执行测试构建或我可以利用的任何类似内容,不幸的是我对 expo 了解不足,无法创建自己的。有什么想法吗?

【问题讨论】:

    标签: react-native build expo githooks


    【解决方案1】:

    我相信您要问的是如何设置持续集成。有很多方法可以做到这一点。我会谈谈我是怎么做到的。

    1. 安装和设置网络挂钩中继(或使用静态 URL 设置服务器)
    2. 在本地或使用静态 URL 的服务器上安装 Jenkins
    3. Setup web hook relay with Jenkins and Github
    4. 一旦挂钩到位并开始工作,您就可以在 jenkins 中将 bash 脚本添加到 git clone、构建和测试 expo 项目。
    5. 通过 webhook 将信息发送回 github(例如 Build: failed/Success)

    网上有很多有用的指南。

    编辑:

    当有人推送代码或提出拉取请求时,Jenkins 可以自动下载 github 存储库。

    Jenkins 可以运行任何 bash 脚本来构建、测试、部署

    Jenkins 可以使用带有 bash 脚本结果的 webhook 更新 github

    Jenkins 可以做得更多

    Useful link

    【讨论】:

    • 感谢您的宝贵时间和回答,但不,我真的特别有兴趣为此目的使用 git 挂钩。它们是轻量级的,应该能够做到这一点,只要 expo 有办法运行测试构建。
    【解决方案2】:

    如果您只想捕获破坏先前测试的新代码,您可以使用Husky。设置一个 git 钩子。您还可以使用“npm run test”运行测试。

    Expo 会在您运行 expo build 时为您构建项目。它还可以在自己的时间内构建(除非您有优先博览会帐户),并且可能需要 3 多个小时才能完成。您可以使用 husky 将构建成功/失败与 git hook 联系起来,但是您需要等待 3 多个小时才能使用 git push ——这会导致生产力出现巨大瓶颈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 2020-06-07
      相关资源
      最近更新 更多