Our build server setup looks like this:
- 6 x Windows Server 2012 R2, physical machines, each running:
- one Hyper-V Windows 7 VM each basically using all the resources of the host
When we need to add any developer tooling that cannot be added through xcopy deployment via our Jenkins master, we currently RDP into each VM, manually install the tool there (may involve activating a per-machine-license) and then pull one VM copy of the new setup for backup purposes: So if we need to (re-) setup a new build node, we just copy over this image, and basically change it's machine name and register it with out Jenkins master.
The VM images are supposed to be 100% identical modulo:
- machine name
- couple of node-identifying config files (e.g. jenkins-slave.xml)
- licensed tools that need different license keys per machine (couple of them!)
Is there a reasonably easy way to improve upon this manual maintenance of the build nodes?
Even if I were to do scripted copies of a master VM image, that still would not help with the per-machine configuration necessary, or would it?