You can use the Sitecore First Development Workflow, I think this is more usable for CI/CD in real life with a live website. and separate frontend and Sitecore developers roll.
The way I currently work. all Sitecore items and C# code with the common CI/CD tools like unicorn or TDS and Azure DevOps or TeamCity/ Octopus
fronted a separated build, and seperated deploy to node servers. and something in the middle to get the front-end app in the Sitecore dist folder for the Experience editor.