6. Continuous Integration is...
“Continuous Integration is a software development practice
where members of a team integrate their work frequently,
usually each person integrates at least daily - leading to multiple
integrations per day.
Each integration is verified by an automated build (including
test) to detect integration errors as quickly as possible.”
Martin Fowler
7. Continuous Integration key concepts
● Integrate early
● Integrate often
● Fail fast and bring the pain forward
● Feedback loops - the tension between speed and quality
○ Per-commit — fast iteration
○ Nightly - qualified and reasonable iteration
○ Weekly - high quality and slow iteration
17. Effective CI - the 5 minutes rule
An effective CI is - following a code change, a
no-more-than-5-minutes-build is being
triggered, so that a code build, alongside a
validation test-set, is done and - at the end of
the process - there is a notification whether the
change caused a failure or not with a proper
blame indication
19. CI ➢ PIPELINE
● Once you have CI (and even CD) in place, the deployable
unit path is called a pipeline
● A pipeline procedure is triggered when code is committed.
Next, the build system compiles the code and runs unit
tests.
● After integration testing is done, you can create images
and push them to a registry service.