Yeah. I choose teamcity over jenkins for a couple reasons:
- Jenkins is supposed to be a pain to get going, though it does have lots of plugins.
- we use youtrack for issue tracking (another jetbrainz product), it integrates with that.
- we use phpstorm for coding (another jetbrainz product)... we sort of like jetbrainz products
- it is to be easy to setup.
- Jenkins doesn't look as pretty (I know, I know )
I posted how I set mine up: http://peterjolson.c...s-solaris-zone/
(using solaris... linux would be very similar).
I'm probably going to be moving the whole setup to a docker-ized (docker: https://www.docker.com/) setup instead. Where my my teamcity build agent (the "thing" that teamcity uses to run actual builds/test/commands/etc...) is in linux and will run tests within the docker containers (you could use different containers for different php versions/database version&types etc...).
Getting teamcity to run your different versions would be as easy as having teamcity pull (using git?) your different branches... or have it download a zip and extract it.
Take a look at this screenshot where I test different branches of my repo: http://screencast.com/t/RPR0X4oBzxA
Lastly... kinda random, but here is the script I run before every unit testing (so I can present the tested site to the web or private intranet): https://github.com/t...-teamcity-agent It just creates a nginx virtual host and reload nginx. Built for solaris again... but easy to modify for linux.