Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository, each time they make a commitment.
The CI process:
- Developers check out code into their private workspaces.
- When they are done with it they commit the changes to the shared repository (Version Control Repository).
- The CI server monitors the repository and checks out changes when they occur.
- The CI server then pulls these changes and builds the system and also runs unit and integration tests.
- The CI server will now inform the team about the successful build.
- If the build or tests fail, the CI server will alert the team.
- The team will try to fix the issue at the earliest opportunity.
- This process keeps on repeating.
Hence, Continuous Integration as a practice forces the developer to integrate their changes every time so as to get early feedback
Automation involves a very broad range of technologies including robotics and expert systems, telemetry and communications, electro-optics, Cyber security, process measurement and control, sensors, wireless applications, systems integration, test measurement, and many, many more.