How-To: Continuous Integration with TeamCity and Behat
A complete guide to CI: from defining goals and problems to configuring and assessing final results
Post 1 – Why CI?
Before we get down to business, I just want to say that we’ve been planning to write about continuous integration for quite some time. And once we began, we realized that it’d be hardly possible to squeeze this huge chunk of information into a single article. So we figured out it would be a blog post series in three installments covering each and every aspect of the topic including the problem to solve and prerequisites for the practice, competitor analysis and selecting the best fitting system, installation, configuration peculiarities as well as troubles that may occur.
This very post is dedicated to explaining what CI is, what it is needed for and the best (in our opinion) software options.
Overview
It only seems logical to start with describing what on earth CI is. Plainly speaking,
a CI system is software designed for monitoring your source control service (in our case, GitHub) and automatically triggering builds on any updates, running tests or deploying a project to the server. In case of failure, your CI system will send notifications to a person who has committed the latest change as well as to anyone interested.