Using a remote MacOS to compile on Windows


#1

I’ve bought a Mac Mini that I keep in my basement as a remote build server. I’m wondering if Nativescript can be setup to use that machine for doing builds (instead of the cloud builds).


#2

Could build is nothing but taking your code to remote machines and build there. But I don’t think CLI has a builtin option to do that, did you think of setting up a CI in your mac mini?


#3

I do have a private git server in my basement that the Mac is connected to. I’m not quite sure how I can get it to compile Nativescript builds on push though. Do you have any links? (My experience with Macs / iOS is zero, apart from installing XCode. I bought a Mac and iPhone just to test my app and save on cloud build costs, but I don’t want to use the Mac for development – I just don’t like it.)


#4

Jenkins must be easy to setup, just follow their official docs.


#5

Hi @nr42,

I am the product manager of the cloud builds. You should be able to set up a CI server like Travis. However, I’d like to know how we can improve the cloud builds so that you can work for you as well.

Happy coding,
Todor


#6

Thanks, I’ll take a look! As for cloud builds, it’s for the same reason that we don’t use private git in the cloud either (like Google Cloud Repositories) – i.e., security. Even if it’s just easily reverse-engineerable TS/JS, every company cares deeply about their source code, and we want to prevent anybody from being able to look at it after it leaves our hands. That means end-to-end encryption with customer-supplied keys that are never stored anywhere. Hard drives encrypted at rest. Sandboxes on a multi-tenant build machine. If we could spin up our own NativeScript build server instance on our own Google Cloud / Azure / AWS project (I wouldn’t mind if NativeScript charges an hourly fee for it), at least I’d be able to login to the instance and secure the heck out of it.

Also, how livesync factors into it – would each time I change an Angular component ts file count as a build, etc. All this information should be in a FAQ somewhere. Hope this helps.