Continuous integration (CI) is confusing. As with all ideas, everybody does their own version of it in practice. CI is a solution to the problems we face while writing, testing and delivering software to end users. Its core promise is reliability. A prerequisite for continuous integration is having an automated test suite.