Continuous Integration
-
The idea of CI is to give feeback about a change done by developer whether is good to proceed or needs rework
-
For every change submitted by developer
- Basic use cases of application are working correctly (Smoke Test + Sanity Tests)
- Code review is done (human)
- Static code analysis (tool)
- package the application and store the package
- Every organization will allow the change based on some metrics (Quality Gate)
- Build should be passing
- Tests are passing
- Static code analysis has no errors
Lets do this manually
- Let me take a java project Refer Here
- Watch classroom recording
We need a system
- A system is required which does the following On every change submitted
- Build the package
- run the tests (configured)
- run the static code analysis and give the results
- This system is referred as CI/CD Engine.
- Popular CI/CD Engines
- Jenkins
- Github Actions
- Azure DevOps
- Atlassian
- Gitlab
