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

Mitigations


Source: Google Cloud