Automated Testing, CI, and Release to Production
Ship it, or it never happened! In Chapter 3, Creating a Basic Angular App, you created a local weather application that could retrieve current weather data. You have created some amount of value in doing this; however, if you don't put your app on the web, you end up creating zero value. This motivation to ship your work is prevalent in many industries. However, delivering a piece of work to someone else or opening it up to public scrutiny can be terrifying. In software engineering, delivering anything is difficult; delivering something to production is even more difficult. This chapter is going to help you implement a Continuous Integration (CI) pipeline. A CI pipeline is going to help you achieve frequent, reliable, high-quality, and flexible releases.
Frequent and reliable releases are only possible if we have a set of automated tests that can quickly verify the correctness of our code for us. The app we created...