React Native项目使用哪个CI工具?我目前入围了4个,但感兴趣的是他们中的每一个或任何其他人的利弊:
- https://www.bitrise.io/
- https://fastlane.tools/
- https://circleci.com/
- https://nevercode.io/
不会评论其他工具,只是Bitrise:的几个亮点
- 我们有一个开源的运行程序(https://www.bitrise.io/cli),与快速车道非常相似;你可以在你的Mac/PC上安装它,并在那里运行你的配置,甚至不需要在bitrise.io上注册
- 我们有React Native项目的项目扫描器,也是开源的(https://github.com/bitrise-core/bitrise-init)。这通常意味着,通过在Mac上的RN项目repo根目录中运行
bitrise init
,或者通过在bitrise.io上注册repo,您将获得适用于RN项目的现成基本构建配置 - 也就是说,一旦生成了基本配置,你就可以随心所欲地调整/修改它(类似于快速通道配置)。为此,您可以直接编辑配置yml,也可以使用我们的工作流编辑器UI,该UI也可以在bitrise.io和Mac/PC上本地使用。相关指南及更多相关信息:https://discuss.bitrise.io/t/how-to-experiment-with-bitrise-configs-locally-on-your-mac-linux/1751
显然还有更多的功能,对于这些功能,我们的DevCenter应该是一个很好的起点(http://devcenter.bitrise.io/),我只是想直接为您的用例/问题强调几点。
我们很乐意回答您的任何问题,也值得查看我们的DevCenter和社区论坛(https://discuss.bitrise.io/)通常你可以在下面找到答案:)
我维护了一个开源的RN SDK,并为Fastlane做出了贡献。我在回购中使用Fastlane进行CI以及回购维护:https://github.com/BranchMetrics/react-native-branch-deep-linking/blob/master/fastlane/Fastfile.回购有两个作业,一个在Travis上,另一个在Circle上,因为直到最近,这两个作业都不支持在OS X上使用Android SDK。Circle最近增加了对此的支持:https://discuss.circleci.com/t/android-and-ios-support-in-the-same-project/12102.我还没试过。
我没有任何使用Fastlane构建和分发RN应用程序的经验,但我知道很多RN应用程序都在使用它,包括这个:
https://github.com/infinitered/ChainReactApp/blob/master/ios/fastlane/Fastfilehttps://github.com/infinitered/ChainReactApp/blob/master/android/fastlane/Fastfile
Fastlane是可扩展的,有一个非常活跃的社区,为不同的目的生成了大量插件:https://docs.fastlane.tools/plugins/available-plugins/.