by Uli Schrempp
As we develop software with the target platform Windows, we need to run the tests on Windows platform too. So the X-Server approach does not fit.
Here are two solutions:
1. Running Hudson service in interactive mode
Open the service properties dialog of the Hudson service. Select in the "Log On" tab "Run as Local System account" and check the "Allow service to interact with desktop".
This works fine, but when the Hudson system needs to access some shares in the network, then the Local System account might not have the appropriate permissions.
2. Running Hudson as application via JNLP
Here is the challenge to automatically after a restart and then start the Hudson agent via command-line. Here's a short recipe:
1. Configure auto-logon in Windows registry. Set the following keys:
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoAdminLogon=1
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName=testuser
- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultPassword=secret
2. Start Hudson agent on start-up:
- Create a batch file to start Hudson:
- Add this batch file to the start-up folder
3. Add remote control support for this machine:
- Create some scheduled tasks to start and stop Hudson and disable them.
- So the Hudson master node can call trigger the agent node remotely via command-line
Remote Desktop Issue:
Sometimes when there was a remote-desktop connection to this machine running Hudson in application mode, the windows session seems to be closed and then the tests could not start the application. Solution for that is using VNC.