Continuous Integration (CI) is a development practice that requires developers to
integrate code into a shared repository several times a day. Each check-in is then verified by an
automated build, allowing teams to detect problems early.
The following flowchart depicts Microsoft's CI system.
Microsoft CI system
In general, the workflow is as follows:
- From Visual Studio, a build is triggered after the source code is checked in and sent to
Team Foundation Server.
- From Team Foundation Server, a build command is sent to Build Server. Inside Build Server,
Build Controller compiles the selected project and sends it to Build Agent.
- After finishing the build, Build Server sends the new build back to Team Foundation
- Team Foundation Server submits the test information to the Microsoft Test Controller.
- Test Controller sends the test information to Microsoft Test Agent.
- After the execution completes, Test Controller collects the test results from Test
- Test Controller collects and publishes test results to Team Foundation Server.
- Team Foundation Server displays the test results to the client.