Travis CI is a service that will automatically run our application's test suite for us after we push each commit to GitHub. This gives us a reliable and repeatable process to test our code continuously.
We can take Travis CI a step further and have it deploy our code after each successful build. This allows us to focus our time on writing code rather than deploying it. The entire test and the deploy process is automated for us, as shown in the following diagram:
The process begins with the Continuous Integration (CI) server and ends with the latest code being deployed to either a staging or production environment. The CI server is where the latest version of our code is built and its automated test suite is run. If the build on the CI server passes (goes green), we will move on to the next step of automatically deploying the code. If the build fails, the developer is alerted, fixes the code, and starts the process again.
This process works...