What will you get out of this article? Our set-up achieves the following:
- It checks our Subversion repository every hour to see if anyone has committed any changes.
- If they have, it updates the project from Subversion and builds it.
- It then creates a clean version of our application database, loads in reference data and deploys the application on our app server.
- A job is triggered that runs through a series of tests in a remotely-controlled web browser on the fresh application.
- Anything that deviates from the accepted norm is logged and screenshots of the web browser are taken.
- Screenshots of the browser are also taken for key pages of the site for later checking by a human.
- If any of the tests fail, the developers responsible for the changes are notified by email of the problems.
- Our issue tracker is updated with any issues that were fixed in the build.