Setting up an integration server
Build and test automation allow code changes to be verified by an integration server, an automated server independent of individual developers' machines. This helps keep the project stable by catching errors or regressions early on. The integration server can automatically alert the developer who introduced the problem. They then have a chance to fix the problem before it causes issues for the rest of the team or the project as a whole.
Building the codebase and running tests automatically on each commit is called Continuous Integration (CI). There are many CI/build servers available. These can be self-hosted or provided as a third-party service. Examples that you may have used before include Jenkins (formerly Hudson), Atlassian Bamboo, JetBrains TeamCity, and Microsoft's Team Foundation Server.
We're going to be using Travis CI (https://travis-ci.org/), which is a hosted service for running automated builds. It is free for use with public source code repositories...