How does process of updating code with Continous Integration work?
- by BleakCabalist
I want to draw a model of process of updating the source code with the use of Continous Integration. The main issue is I don't really understand how it works when there are several programmers working on various aspects of the code at the same time. I can't visualize it in my mind. Here's what I know but I might be wrong:
New code is sent to repository.
Continous Integration server asks Version Control System if there is a new code in repository.
If there is than CIS executes tests on the code.
If tests show there are problems than CIS orders VCS to revert back to working wersion of the code and communicates it to programmer.
If tests are passed positively it compiles the repository code and makes new build of a game?
New build is made not after ever single change, but at the end of the day I believe? Are my assumptions above correct? If yes, does it also work when there are several programmers updating repository at once? Is this enough to draw a model of the process in your opinions or did I miss something?
Also, what software would I need for above process? Can you guys give examples for CIS software and VCS software and whatever else I need? Does CIS software perform code tests or do I need another tool for that and integrate it with CIS? Is there a repository software?