A problem that a lot of developers face is that software is complex and becomes only more complex over time. A single change to the software can lead to numerous unexpected bugs that may not be discovered in time. Using Continuous Integration, we can automatically test software before it is released. Using other tools, such as SonarQube, we can ensure that our code adheres to the latest standards. Unfortunately, getting started with testing and automation requires various tools and all of those tools take time and effort to learn.
In this book, we will start a project from scratch and use Continuous Integration techniques to guarantee a certain software quality. Tools such as Git, Jasmine, Karma, Selenium, Protractor, Gulp, Jenkins, SonarQube, and Postman are introduced and used to ensure that our software is up to par.
Finally, to further reduce the chances of human error, we will automatically deploy our software to another environment so that we can go from Git commit to production deployment fully automated and still sleep easy at night.