Pipeline deploy to VM
Goal
Build a DevOps pipeline to deliver code updates -- such as python scripts -- to VMs.
Implementation
Such a build pipeline was created to investigate this approach. DevOps provides an Azure File Copy task that provides this functionality.
Prerequisites
The Azure File Copy task depends on WinRM over HTTPS to perform the copy action. This requires that a HTTPS listener is enabled on the target VM, and that the VM can receive inbound traffic on port 5986.
WinRM over HTTPS requires a few steps to be enabled .
Challenge
The current TC cloud networking restricts port 5986 to TC network traffic, thus blocking the inbound traffic from DevOps.
Microsoft publishes an up-to-date list of IP addresses of their DevOps Servers to support scripting such a whitelist.
Conclusion
While technically simple, the challenges of dealing with our network rules would suggest that an alternative approach be investigated.
Alternative
Installing our scripts via GIT would allow us to run nightly updates to ensure code is current.