We're running a Jenkins server on one machine that monitors the SVN 
repository and performs the complete build of the project. It's using a 
custom PowerShell script which basically just finds and runs MSBuild, 
Dotfuscator and InnoSetup. The resulting setup executable shall then be 
transfered to a number of slave nodes which are Hyper-V virtual machines, 
for GUI testing under different operating systems. I've already set up the 
slave node and after a lot of guesswork and try&error, it finally copies 
over the setup.exe and runs it. We don't have a GUI test tool yet, so 
that's still left to be done.

Now the problem lies in the VM management. I've just tried it once to 
revert the slave VM to a clean snapshot - with the computer in running 
state and the Jenkins agent also running - and then wanted the Jenkins 
slave work to start right afterwards. But the problem is that after 
reverting the VM, while the Jenkins agent is still running, all external 
resources like network connections are broken and nobody knows. And it 
takes a lot of time for both to recover from that. The server still thinks 
for a while that the client is still there, and the client still thinks 
that it's connected. But nothing works and the job eventually fails with a 
Jenkins internal exception that seems to come from the broken network 
connection. A while after that, the connection recovers and the node comes 
back available again.

This doesn't exactly seem to work.

I've found some hint on the web to tell the Jenkins server via its web API 
to "doDisconnect" a certain slave node, but that URL is only 404'd. Since 
there is virtually no API documentation of Jenkins at all, I cannot correct 
this method or even tell whether it was entirely made up.

So, with the workflow:

* Build on the master
* Revert the slave VM (Hyper-V) to a running snapshot
* Start another job on a slave

What would be the suggested process? How can I get Jenkins to work in this 
environment? Does it even work at all?

We're all Windows, with scripting in CMD or PowerShell, no Bash supported. 
I still need to find an automation script for Hyper-V control, but that 
should be possible.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to