In a previous entry, I went down the path of describing how to setup Windows to support password-free remote logins using SSH and public keys. The genesis behind that was an attempt to setup a simple way to have a Windows machine (or VM) available for builds while doing development under OSX. After much wrangling and gnashing of teeth, the trio of Windows/Cygwin/and SSH declared victory and I was forced to regroup.
The specific project I am working on is leveraging Apache Cordova as the platform for cross-platform mobile development. My specific setup, depending on whether I am working in the office or in a coffeeshop or similar is basically:
- 13” Retina MacBook Pro running Mavericks
- A Surface Pro 2 (in the office) OR a Windows8 VM running under Parallels
- Assorted mobile devices, for this project a Nokia Lumia Icon and a Nexus 5
You might ask, if I am doing development that can easily be done on the Window’s platform, why not just develop there? I’m much more productive in Unix based environments for one and with the Mac, in general. Plus, projects change over time, so being flexible is also useful.
To solve my cross-platform dilema, I crafted this little utility referred to as cordova-prodder. It is a node.js based application surfacing an HTTP-based API to create and trigger project builds on the remote machine. It can run on any platform on which NodeJS and Cordova run on. You will just may need to make changes to the config.js file within the project.
It should be noted, my development assumes sharing some form of a network attached drive (or shared folder — OneDrive, etc) between the machines.
Here is cordova-prodder.