Even though Codefresh is great for containers (and kubernetes), you can still create pipelines that deploy to a traditional virtual machine. No Docker, no Kubernetes, no Helm at all
Here is the example (also uses Hashicorp Packer which is an awesome tool) Deploy to a Virtual Machine ยท Codefresh | Docs