Chapter 11. Continuous Integration
In the previous chapters, we adopted a Test-Driven Development (TDD) approach to developing a backend API server, which exposes a user directory platform. However, there are still many areas for improvement in our workflow:
- We are running tests on our local, development environment, which may contain artifacts that lead to inaccurate test results
- Carrying out all these steps manually is slow and error-prone
In this chapter, we are going to eliminate these two issues by integrating with a Continuous Integration server. In essence, a CI server is a service that watches for changes in your repository, and then automatically runs the test suite inside a clean environment. This ensures the test results are more deterministic and repeatable. In other words, it prevents situations where something works on one person's machine but not another's.
By following this chapter, you will:
- Understand what CI is
- Integrate our GitHub repository with a hosted CI platform called...