您是否曾经想过如何
如果是这样,NativeScript 远程构建插件 正适合您! 🚀
该插件使用多个 NativeScript CLI 钩子 并通过以下方式修改其行为:
prepare
阶段的原生资源处理 - 它们将在远程处理。在撰写本文时,该插件支持 Circle CI 远程构建。
CLI 的其余逻辑照常工作,例如,tns debug
命令准备 JavaScript 文件,上传到连接的设备,显示日志,打开调试套接字,显示用于调试的 URL 等等。
以下视频演示了如何从 Windows 机器上在 iOS 上运行 NativeScript 应用
实现远程需要一些方法 - 主要处理环境变量和下载构建结果。Circle CI 针对这些操作提供了简单的 API,并为开源项目提供了大量免费的 Linux 和 macOS 机器。
但是,插件抽象不依赖于 Circle CI,实现新的远程应该只需要几天。例如,我们已经有了使用另一个云解决方案的初始 POC 远程 - Travis CI 和与同一网络中的 macOS 机器建立的本地 ssh 连接。欢迎在 插件 GitHub 存储库 中打开功能请求甚至拉取请求以实现新的远程。
让我们比较一下作为 NativeScript 云扩展 的一部分的云构建和这个 NativeScript 远程构建插件,因为它们看起来很相似。
主要区别在于 NativeScript 远程构建插件在没有任何 原生工具[1] 要求的环境中启用现有的 NativeScript CLI 命令,而不是提供额外的命令(例如 tns cloud
命令)。远程构建插件还旨在在 CI 环境中保持稳定可靠。
以下是 NativeScript 云扩展和 NativeScript 远程构建插件的比较表
云扩展 | 远程构建插件 | |
---|---|---|
在没有 原生工具[1] 的情况下构建、运行和发布 | ||
在没有 原生工具[1] 的情况下调试 | [2] | |
在没有 原生工具[1] 的情况下运行单元测试 | ||
自动 iOS 签名管理[3] | ||
完整的 CI 支持[4] | ||
完整的环境信息[5] | ||
完整的环境控制[6] | ||
仅默认 NativeScript CLI 命令 | ||
免费 | [7] | [8] |
比较基于 NativeScript 远程构建插件的 CircleCI 远程
--provision
标志并根据当前构建配置选择合适的证书。在远程构建插件中,这是由 Fastlane Match 服务 自动处理的。在插件开发期间,我们不得不公开更多 NativeScript CLI 钩子并在我们的 iOS 运行时中编辑 iOS 原生项目模板。NativeScript CLI 和 iOS 运行时 6.4 中提供了必要的更改。
最新的安装信息、设置指南和可用的远程都在 插件的 README 中提供。
留下评论或打开一个问题,提供您的反馈。您的评论和建议对我们非常重要!