Do you practice CD, and if so how?
I run two unrelated Django monolith applications, which serve me very well. I use CircleCI for Continous Integration, and it works well enough. The benefits of CI are of course muted if one is rolling completely solo, however I'm bringing on another dev this year so that's fine.
Where I get lost is CD. Right now I still manually ssh into the VM and pull latest changes, run migrations and install any new dependencies, compile static if necessary, etc. etc.
How can I reliably integrate CD into this small application? Would Ansible be a good solution?
A key obstacle for me are the migrations. Is it best to migrate your DB completely separately? Test any migrations before hand and commit the migration scripts as well? It's uncommon but not out of the question that I need to manually edit a migrations script to massage the database back to a state it needs to be. Any Django user probably has a similar experience to share.
Although I welcome discussion about Kubernetes and other orchestration tools, I'm looking for something a little more lightweight.
Looking forward to a good discussion, some of the best threads on HN are those with founders swapping knowledge.
Thanks in advance.