Continuous Integration
Principle to increase frequency of long-running or hard tasks.
- Ensure Rapid Feedback Loops
- Work in small batches
- Ensure the application is in a working state
- Ensure branches don’t diverge significantly from Trunk
- A Pipeline should verify every commit using a series of automated tests
Practises
- Automated Build Process
- Fixing failings builds right away
- Breaking up larger features into smaller incremental steps
- Automated Tests. Use Test Driven Development to create the Test suite
- Integrate Frequently into Trunk. See Trunk Based Development
Pitfalls
- Not putting everything into version control
- Having long running tests
- Not merging into trunk often enough