Some of my vm's are dedicated to compiling code using CruiseControl.NET.
What I am attempting to do is add a step that automates testing a completed setup on several clean virtual machines. From what I can see, the guest OS will be required to 'announce' to the host OS that a build has completed and then launch a process to revert the virtual machines, start the virtual machines and then launch a process that does the following:
Copy the setup.exe from a known location to a directory on the virtual machine
Launch the setup.exe with parameters from a command line
Wait for setup.exe to finish
Launch an automated testing tool to validate basic functionality of the application.
Wait for automated testing to complete
Shut down the virtual machines
Wait for next successful build
I am attempting to work on this problem using vmrun.exe within a powershell script. With this script I can successfully revert virtual machines, start and stop virtual machines.
What I am trying to work out is how to pass data from CruiseControl.net in the guest operating system to the host operating system. So I am turning to this community to see if anyone here has any ideas?
I have not read of any ideas of communication from the guest to the host while there is a 'host' <yeah, pun is intended> of information of sending info from the host to the guest. Note that the guest OS does not have VMWare Workstation installed, nor is it desirable to do this.
My initial thoughts, even as I write this question, is that all of the guest OS build machines map a drive to the host. At the end of of a successful build the setup is copied to a directory and a sentinel file is updated with information. The host OS will have CruiseControl.net installed and will monitor for file changes for the sentinel file. When changed then it will start the automated testing process.