We have done a lot of work in this area, using Azure DevOps and Git as our VCS. That said most of the principles could apply to GitHub / Bit Bucket / or whatever else you might be using.
I wrote a blog post about this last year here https://www.sharptree.io/blog/2023/2023-11-07-devops-deploy/
It demonstrates how you can use the tools we have created and published for free (and open source) to automate your release cycle and create a repeatable and reliable release process.
That said, you are asking a relatively broad question where there are a lot of avenues to explore. If you would prefer to just have a call about it let me know and I'd be happy to chat. jason@sharptree.io
- Jason