After writing about some scripts I wrote to allow Jenkins running on a Linode to schedule builds on my iMac, I continued to tweak those scripts until I realized that I could not maintain them in a gist. The updated scripts are on GitHub.

Why?

If I didn’t travel for work, I could have simply run a Jenkins server at home; however, since I travel, I could either:

  1. get a fixed IP address for my home network and run Jenkins on my iMac
  2. run Jenkins on a Mac mini from macminicolo.net or a similar provider
  3. run a Jenkins server on a Linode and run a Jenkins slave on my iMac

I choose the third option, but quickly discovered that I would need to either:

  1. get a fixed IP address for the slave and use SSH to connect the Jenkins server and slave (initiated by the server and supported by the Jenkins project)
  2. manually start a JNLP slave on the iMac and use HTTPS to connect the server and slave (initiated by the slave and supported by the Jenkins project)
  3. script the process of automatically starting a JNLP slave on the iMac (commented on, but not supported by the Jenkins project)