AppVeyor starts every build on clean dedicated build worker VM. Sometimes the best way to troubleshoot broken build is looking into build VM via Remote Desktop. During the build you have full “administrator” access to that VM and can access it via Remote Desktop (RDP).
Set RDP password in
APPVEYOR_RDP_PASSWORD environment variable. You can configure that in
environment section of
appveyor.yml or on project settings UI (preferred way):
Note that while YAML generally takes over the UI, this is not true with variables.
To get RDP details for the current build worker add this line to
init phase of your build:
init: - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
Remote Desktop connection details will be displayed and build will continue. Displaying RDP connection during
init phase helps troubleshooting stuck builds.
If you need to investigate worker on build finish add
$blockRdp = $true; to display Remote Desktop connection details and pause the build until a special “lock” file on VM desktop is deleted:
on_finish: - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
Your RDP session is limited by overall build time (60 min).