I have a question about Gitlab CI/CD workflows. I am in the process of trying to get a CI/CD pipeline set up for a project I work on. Here is what I am thinking, and please let me know if I am on the right track.
Generally speaking, let’s say I have “develop” branch and a “master” branch. Me, as a developer, creates “feature” branch off of the “develop” branch. I create merge request (MR) to merge my feature branch into develop branch. Upon a successful merge, I trigger a test-build-deploy pipeline, and the code gets deployed to say a “dev” environment. If everything looks good there, I create a MR to merge develop into master. Again, this will trigger a test-build-deploy pipeline, and the code gets deployed to say “staging” environment. If everything looks good here in the staging environment, I tag the commit from the master branch, and then push up the tag to Gitlab. Again, this will trigger a test-build-deploy pipeline, and the code gets deployed to a production environment.
Now I guess there are multiple ways to go about this, but I just wanted to know from a high level view if this is the basic idea.
Thank you for your help,