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.