Have you ever wondered how to:
If so, the NativeScript Remote Builds Plugin is just for you! 🚀
The plugin uses several NativeScript CLI hooks and modifies its behavior by:
prepare
phase - they will be handled remotely.At the time of writing, the plugin supports a Circle CI remote build.
The rest of the CLI logic works as usual, for example, the tns debug
command prepares the JavaScript files, uploading to the connected devices, showing logs, opening debug sockets, showing a URL for debugging and so on.
The video below demonstrates how to run a NativeScript app on iOS from a Windows machine:
Implementing a remote requires a few methods - mainly handling environment variables and downloading the build result. Circle CI has a simple API for these operations and offers a good number of free Linux and macOS machines for open-source projects.
However, the plugin abstractions don't depend on Circle CI and implementing a new remote should take just a few days. For example, we already have initial POC remotes with another cloud solution - Travis CI and local ssh connections to a macOS machine in the same network. Feel free to open feature requests and even pull requests for implementing new remotes in the plugin GitHub repository.
Let's compare the cloud builds that are part of the NativeScript Cloud extension and this NativeScript Remote Builds plugin, as they look similar.
The main differences come from the fact that the NativeScript Remote Builds plugin enables the existing NativeScript CLI commands on environments without any native tooling[1] requirements instead of providing additional commands like the tns cloud
ones. The Remote Builds plugin is also designed to be stable and reliable in a CI environement.
Here's a comparison table between the NativeScript Cloud Extension and the NativeScript Remote Builds plugin:
Cloud Extension | Remote Builds Plugin | |
---|---|---|
Build, Run and Publish without native tooling[1] | ||
Debug without native tooling[1] | [2] | |
Run Unit Tests without native tooling[1] | ||
Automatic iOS Signing Management[3] | ||
Full CI Support[4] | ||
Full Environment Information[5] | ||
Full Environment Control[6] | ||
Just the default NativeScript CLI commands | ||
Free | [7] | [8] |
The comparison is based on the CircleCI remote of the NativeScript Remote Builds Plugin
During plugin development, we had to expose a few more NativeScript CLI hooks and edit the iOS native project template in our iOS Runtime. The required changes are available in NativeScript CLI and iOS Runtime 6.4.
The up-to-date installation info, setup guide, and available remotes are available in the plugin's README.
Leave a comment or open an issue with your feedback. Your comments and suggestions are very important to us!