Running Jenkins slave on different OS than master (and host)

I’m trying to introduce continuous integration in an old project, and we’ve got quite specific situation – it’s possible to put the CI server only on our test server that runs on CentOS. The server has quite a lot of unused RAM and CPU capability.

However, we need to run Ant builds on Windows (this also used to be how the project did packaging before), however it turned out that not the same output (after binary compare) is produced by just using Unix versions of Java and Ant.

  • What is the better way to do service discovery on Docker environment?
  • kube-dns can not resolve 'kubernetes.default.svc.cluster.local'
  • What's wrong with this dockerfile
  • Can Google Kubernetes run Apache Mesos frameworks on top of it?
  • Pass in variables or answer Dockerfile
  • Compass provision failing with Docker compose up
  • I drew up a diagram of how in my mind it could work, but I’m really wondering whether that is even possible (with already given tools).

    enter image description here

    The black part is implemented, I’m curious whether the red part could be possible. Could the Jenkins slave communicate with master on different OS?

  • Docker mounting volume for editing source code
  • docker - Error response from daemon: rpc error: code = 2 desc = name conflicts with an existing object
  • Status 405 - docker - artifactory
  • Mongodb, Boot2Docker, and Replica Set connections
  • Running non-www stuff on an Elastic Beanstalk Docker container
  • Accessing Kubernetes Web UI (Dashboard)
  • 2 Solutions collect form web for “Running Jenkins slave on different OS than master (and host)”

    It should be possible. I have a feeling you will need to play with your network settings. But if before you start changing anything see if you can start a headless slave by following these directions:

    Using VirtualBox for CentOS, it will possible to run a Windows VM on your CentOS host.

    I’m not sure you need Docker to launch your Jenkins slave.

    It maybe better to use a standard JNLP Windows service to connect your Windows slave to Dockerised Jenkins master.

    If the master is not able to view the Windows node using this method, you may have to tweak your network configuration on the Windows VM.

    But I’m not sure it’s necessary.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.