Answer the question
In order to leave comments, you need to log in
How to upload certain commits to production?
Hello.
Maybe I formulated the title incorrectly, because. I don't quite understand how this is supposed to work.
There is a development team. Each has its own development branch. In addition, there are two branches - a branch for the test and a branch for the combat server. How to properly organize the structure so that only verified commits get to the production server. For example, changes were committed to the test server yesterday, they were checked. After that, there were more commits that were not checked. Then there were committees again, but they were checked. How to upload only verified commits to the production server? Or am I misrepresenting the work of the team with the version control system? Thanks everyone for the replies.
Answer the question
In order to leave comments, you need to log in
The problem is purely organizational, you should forbid programmers to climb into the test and production branches at all. To merge something there, you need to give rights only to a specific person who is responsible for releases (or, for example, DevOps).
I will give an example of how it works here:
1. Three branches, dev, test, prod. Everyone who does something can push into devs, since we don’t have many developers, then one dev branch is enough. In the test commits that are currently being tested, in the prod what is spinning in the live version.
2. The task configured in CI merges the changes from the devs into the test. The task is started manually (i.e. the process is completely controlled and nothing gets into the test that should not get there).
3. After testing the changes, the test is merged into production, a tag with the current version is put on the branch (according to the specificationsemver.org ) and a new iteration of development begins.
For you, such a mechanism may be too simple (if there are more than 10 developers), so it might be worth making several test branches for each of the features and merging them into the main test after testing these features is completed.
We test all branches, not just the special test branch. This allows developers to be aware of how ready their branch is.
Only senior developers have access to the "master" branch.
This branch is also being tested, and if the test is successful, then it will be deployed.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question