I think you confuse "good" with "trendy", as the list of things you want is a bit of a mixed bag.
Testing is almost unquestionably a benefit (at least to a point) and is something that can be introduced with minimum initial investments and right away gives big benefits. I'd start with that for low effort, big impact.
Then CI (but not CD) is like that too. Just have the test executed on every commit/PR to gain some confidence.
CD requires a whole culture around it, and not everything fits into this culture.
There's really nothing wrong with deploying stuff via SSH. It's not most fashionable, but if done via script and works, it's OK. No need to fight it.
Docker can be great, but people often shove it where it is not needed. E.g. if I was deploying Java (standardized VM) or Go (static bin), I might not bother. It really was invented for Python, where it is impossible to get the Python app running on anything but the developer's computer.
k8s ... mixed bag. Hefty price in complexity, for some benefits that are sometimes important, sometimes not.
> something that can be introduced with minimum initial investments
Testing is very expensive. Setting up an automated testing environment is tricky, prone to failure, and requires constant expensive management.
It also adds nothing to the bottom line, on the face of it.
It is very very important. It is possible to limp along with inadequate testing, become a major global infrastructure provider, then have it all go horribly, predictably, wrong.
But the money person that commits large quantities of cash to something that does nothing to improve the bottom line tomorrow (fingers crossed) is taking risks with their personal welfare.
It sucks. Testing is very important. Automated testing is gold. It is very hard for us to implement because....
Testing is almost unquestionably a benefit (at least to a point) and is something that can be introduced with minimum initial investments and right away gives big benefits. I'd start with that for low effort, big impact.
Then CI (but not CD) is like that too. Just have the test executed on every commit/PR to gain some confidence.
CD requires a whole culture around it, and not everything fits into this culture.
There's really nothing wrong with deploying stuff via SSH. It's not most fashionable, but if done via script and works, it's OK. No need to fight it.
Docker can be great, but people often shove it where it is not needed. E.g. if I was deploying Java (standardized VM) or Go (static bin), I might not bother. It really was invented for Python, where it is impossible to get the Python app running on anything but the developer's computer.
k8s ... mixed bag. Hefty price in complexity, for some benefits that are sometimes important, sometimes not.