I have used Azure Pipeline for CI/CD on various small projects that I have worked and it has been a great experience. I am working now on a decent size project that has a web app, mobile(xamarin) app and API. We plan to use Gitflow along with Azure Devops for the delivery process. But I have got a few questions that is really bothering me, and would like to hear other opinion.
- I understand that feature branches are created to work on a user story, but when multiple people are working on a user story, do we create a feature branch, and then each developer branch of it and then work on the individual sub-tasks? And when they complete their work, they merge back to the feature branch. Is this a standard practice? Or do developers merge back to develop branch as they finish their sub-tasks?
- Is it a good practice to do a build in Azure Devops for every PR merge to develop branch?
- When a feature branch is merged with develop branch, do we immediately sent out a release or do we group and send out as nightly builds to QA?
- I understand that both build and release pipelines offer a great flexibility. But generally does the build pipeline generates the artifacts or is it the release pipeline that does that?
- I see that in most tutorials, both build and release pipelines do restore the packages, compile the code, and create artifacts. Is that how its done?
I appreciate if someone can help me with these questions. Or atleast point me in the right direction