It sounds like Azure DevOps might meet your needs see this architecture guide for more information. You are not charged for VMs that are in a stopped state. So it also might be possible to simply keep a VM available that you start, remotely through either via CLI or Powershell.
Hope this helps. Let me know if you have further questions or issues. If you have questions specific to Azure DevOps, please feel free to ask them on their dedicated forum.
-------------------------------
Please don’t forget to "Accept the answer" and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.