AWS CodePipeline vs TeamCity: What are the differences?
What is AWS CodePipeline? Continuous delivery service for fast and reliable application updates. CodePipeline builds, tests, and deploys your code every time there is a code change, based on the release process models you define.
What is TeamCity? TeamCity is an ultimate Continuous Integration tool for professionals. TeamCity is a user-friendly continuous integration (CI) server for professional developers, build engineers, and DevOps. It is trivial to setup and absolutely free for small teams and open source projects.
AWS CodePipeline and TeamCity are primarily classified as "Continuous Deployment" and "Continuous Integration" tools respectively.
Some of the features offered by AWS CodePipeline are:
- Workflow Modeling
- AWS Integrations
- Pre-Built Plugins
On the other hand, TeamCity provides the following key features:
- Automate code analyzing, compiling, and testing processes, with having instant feedback on build progress, problems, and test failures, all in a simple, intuitive web-interface
- Simplified setup: create projects from just a VCS repository URL
- Run multiple builds and tests under different configurations and platforms simultaneously
"Simple to set up" is the top reason why over 3 developers like AWS CodePipeline, while over 52 developers mention "Easy to configure" as the leading cause for choosing TeamCity.
According to the StackShare community, TeamCity has a broader approval, being mentioned in 168 company stacks & 51 developers stacks; compared to AWS CodePipeline, which is listed in 30 company stacks and 15 developer stacks.
Sign up to add or upvote prosMake informed product decisions
Sign up to add or upvote consMake informed product decisions
What is AWS CodePipeline?
What is TeamCity?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
TeamCity is our main continuous integration server. It starts creating builds and running tests based on commits that we make in our hosted bitbucket repositories. From there, we have a set of configuraitons that can deploy the built and tested artifacts (web app, batches, db, etc...) to a stage or production server. We still release manually, but we release often, and TeamCity has nice features to help us roll back when things don't work out as planned.
TeamCity builds then copies to each web tier via a powershell script. The steps for each server are:
- Tell HAProxy to take the server out of rotation via a POST
- Delay to let IIS finish current requests (~5 sec)
- Stop the website (via the same PSSession for all the following)
- Robocopy files
- Start the website
- Re-enable in HAProxy via another POST
I'm using a selfhosted TC as Referenceplatform, and use travis with another configuration.