Does non-docker production setup make any sense?

I am new to frappe, I have created a few custom apps and wanted to explore now how to integrate CI/CD into this. Currently I have frappe v16 development setup on my machine.

My understanding is, I will create another bench and put it in production mode, and then pull my apps there. But online in official documentation I see that docker images are the go-to for production. Is there any resource that explains how to properly set up CI/CD without using docker?

Referred sources:

Setup Production