Git Branch or Git Tag ? What to Use for Project Deployment
In a professional environment when QA & developers do the testing & debugging in the same server (environment) , it becomes hard to manage the code debugging & testing at the same time.
This problem can be solved by using two testing environments, one for QA & one for developers. But this will increase the company cost & we should always think about cost cutting if we want to survive for a longer time.
So there is another solution to solve these conflicts.
Context: Sometimes QA can’t reproduce their bugs & they say that the dev team has fixed the issue & deployed again without letting them know.
Problem: We deploy the git branch to the testing environment & ask the QA team to test it. After delivering tasks to QA, we keep on fixing dev bugs & redeploy that branch once again. At the same time QA is also testing that code & they sometimes can not reproduce the reported bugs again in that environment because someone must have already fixed them.
Solution: We have started using git Tag for our deployment & we will give this Tag to QA team for deployment. Tag once created can’t be modified & hence no developer can change any code in previous tags, so QA at any point of time can deploy any previous tag to recheck whether a bug is present or not.
Result: We have started using Tags on our all environment & successfully working.
Next Step: Our next step is to set up a QA environment & provide tags to QA, so that they can deploy our tags to their environment. This way developers can continue to develop without interfering with QA’s testing.