When comparing TeamCity vs Codeship, the Slant community recommends TeamCity for most people. In the question“What are the best continuous integration tools?” TeamCity is ranked 1st while Codeship is ranked 3rd. The most important reason people chose TeamCity is:
TeamCity has different installation packages for different operating systems. All the user needs to do is download the correct one and run it.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy installation
TeamCity has different installation packages for different operating systems. All the user needs to do is download the correct one and run it.
Pro Cross-platform build support
The fact that it is based on Java does not hinder TeamCity's ability to support different build environments. TeamCity in fact supports a large number of languages and tools for each of those languages (build runners and test frameworks).
Some of the languages/platforms that are supported include: Ruby, .NET, Java.
Pro Brilliant interface
The user interface of TeamCity is clear, well thought out and the dashboard is highly customizable.
Pro Supports build chains
The user can easily compose dependencies between builds by adding snapshot and artifact dependencies, all on the one screen. All output of upstream builds is available to downstream builds. Triggering sets off the entire build chain and supports re-running of the portions of the chain that failed.
Pro Well documented
Pro Extensible
TeamCity offers well defined APIs for extending, as well as a REST interface.
Pro Testing support
TeamCity supports both MSTest and NUnit (which is open source) to run tests.
Pro Best choice for .NET
Seems to be the best choice for .NET applications, but to be honest: if you stray from the default settings you will be in a lot of pain most of the time.
Pro GitHub & Bitbucket integration
Support for public and private GitHub and BitBucket repositories. It also has support for multi-user teams.
Pro Keeps it simple. Doesn't allow too many "tricky" things which means builds are generally very stable once they are up and going.
Pro Headless browser support
Alongside latest Chrome and Firefox, Codeship supports the use of Selenium, PhantomJS, CasperJS as well as tools like Capybara.
Pro Build status GIF
There's a continuously updated GIF of the build status of the repository allowing you to determine whether build was successful or not.
Pro Support for multiple tools, languages and databases
Support for e-mail, HipChat, Slack, Campfire, Flowdock, Grove, Webhook, Github Status API.
Support for Ruby, Python, Node, Dart, PHP, Java, Scala, Groovy, Clojure, Go.
Support for: PostgreSQL, MySQL, MongoDB, Redis, Memcached, ElasticSearch, SQLite.
Pro Supports 7 cloud providers
Support for AWS, Digital Ocean, Rackspace, Google Compute, Joyent, Softlayer, Openstack.
Pro Docker support
Pro Simple deployments with a choice of 5 deployment tools
Support for Capistrano, Fabric, Chef, Puppet, Ansible and allows for writing your own scripts to deploy and manage your infrastructure.
Pro Supports 10 hosting providers
Support for Heroku, Engine Yard, Nodejitsu, dotCloud, App Engine, AppFog, Modulus, Openshift, Cloud Foundry, Fortrabbit and you can also run your own script to deploy anywhere.
Pro FTP, SFTP, SCP, RSYNC and SSH support
You can use FTP, SFTP, SCP, RSYNC and SSH for Continuous Deployment.
Pro Code Climate & Coveralls support
Automated code review for RoR and JavaScript and test coverage history and statistics with Code Climate and Coveralls.
Cons
Con Expensive
TeamCity has a free tier which includes a maximum of 100 build configurations and up to 3 build agents. If you want to add 10 more configurations and 1 more agent, it will cost $299; unless you choose to buy an enterprise license which starts at $1999.
Con Poor quality plugins
At least some of them do not work, probably because they're not updated to more recent TeamCity versions.
Con Inter-branch merges trigger emails to unrelated committers
Whenever an inter-branch merge occurs, TeamCity pulls up the first parent of the merge commit and sends them an e-mail. However, this sort of information would be more useful to the merge author.
Con Doesn't support git modules
If repo contain private submodule - build will fail, no way to add your private key.
Con Any time you ask support for help on Codeship basic (which isn't free anyway), they will just try to up sell you to Pro version.
Con No Global variables that can be shared amongst all projects.
Con Environment variables are exposed. Any keys or secrets can just be copied.
No option to mask them unless you reduce permissions for those users. Developers need to be able to modify a job but probably shouldn't be able to copy a production api key. Just needs one more level of permissions here.
Con Too many permissions on Bitbucket
When registering with Bitbucket Codeship it requests way to many permissions, even "Read and write to your team's projects and move repositories between them". Before giving all these permissions you have to be sure you can trust this service.