Codeship is very well suited to teams that have specialized devops members along with other specialized developers. It lets the other developers focus on what they do best, without having to learn another technology stack. This has cut down on a lot of headaches at our company with developers needing to deploy code to various different hosting services across different content management systems. The experience to push code is essentially the same for a developer no matter what the underlying technology is
TeamCity is well suited for an organization using continuous integration, meaning you release code to production often, and an agile project management system. There are free versions available for small teams and enterprise versions available for large teams with many different builds. TeamCity is probably overkill for basic e-commerce or blog website builds that do not require much development after the initial launch
Fully customizable build process. Each step of the build process can be parameterized and customized to address specific needs of particular applications. This allowed us to easily convert from a custom VM-based environment to our current Docker-based environment.
Manages large numbers of build agents seamlessly. This allows us to run multiple builds on many different applications in a most efficient manner.
Build steps can be managed in an arbitrary manner, allowing some parts of the process to proceed in parallel while restricting others to depend on completion of all relevant steps.
TeamCity runs really well, even when sharing a small instance with other applications. The user interface adequately conveys important information without being overly bloated, and it is snappy. There isn't any significant overhead to build agents or unit test runners that we have measured.
Codeship is easier to use than Jenkins because it does not require you to set up your own server, and it provides a large amount of out-of-the-box integrations for version control systems and cloud environments. AWS CodePipeline is native to AWS and cannot deploy applications reliably to other cloud environments such as GCP or Azure.
Jenkins relies on being open source as the primary driver for its success. This low cost is a huge factor for many companies, both small and large. The professional, free tier of TeamCity offers a huge amount of growth before ever needing to pay anything. I personally also find the user experience of TeamCity to be much better, both from a look and feel, as well as from an out-of-the-box feature set perspective. The big selling feature of ADO is its native integration with Azure. TeamCity integrates very well with out-of-the-box .NET support and greatly simplifies our use of another diverse tooling outside of the Microsoft ecosystem.
We have a few small projects with different developers and Codeship shows everyone clearly, if something work, or if it doesn't.
In one small project with a team of three developers, we have configured two builds and it takes 2-5 minutes for everyone on the team to push changes to an infrastructure handling a little over 3M users.
TeamCity was a key contributor to our organization's adoption of Agile.
TeamCity made it possible to KILL "It works on my laptop" conversations with Developers. If it does not compile in TeamCity - the project is not deployable. TeamCity's easy to use interface made it possible to quickly adopt a "Deploy Only from TeamCity" policy, further ensuring TeamCity Builds were the gold-standard for well-configured source code.