Octopus Deploy vs TeamCity: What are the differences?
What is Octopus Deploy? Automated deployment for .NET. Octopus works with your build server to enable reliable, secure, automated releases of ASP.NET applications and Windows Services into test, staging and production environments, whether they are in the cloud or on-premises.
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.
Octopus Deploy can be classified as a tool in the "Deployment as a Service" category, while TeamCity is grouped under "Continuous Integration".
Some of the features offered by Octopus Deploy are:
- Deploy on-premises or to the cloud, securely
- Built for .NET developers
- Configuration and scripting
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
"Powerful" is the primary reason why developers consider Octopus Deploy over the competitors, whereas "Easy to configure" was stated as the key factor in picking TeamCity.
According to the StackShare community, TeamCity has a broader approval, being mentioned in 168 company stacks & 51 developers stacks; compared to Octopus Deploy, which is listed in 45 company stacks and 15 developer stacks.
What is Octopus Deploy?
What is TeamCity?
Want advice about which of these to choose?Ask the StackShare community!
What tools integrate with Octopus Deploy?
Using this in an environment with about 10 separate development teams. All the teams love this product and how easy it is to get started. It's very well put together, elegant, simple UI that is powerful to use, easy to understand and follow. I HIGHLY recommend this product to any shop.
It says it's for .NET and it's geared for that. But you could use it for just about any type of deployment given it's capabilities to deploy via FTP.
This is our CD platform. We use TFS for gated-checks and release builds. A release build packages all our components, pushes these packages to Octopus and triggers a release into our Development environment. A suite of integration tests are run and finally if all is successful the team gets a notification on Slack that a new release is available. This can then get promoted through all our non-production environments, Finally, we use offline deployments as we are not yet allowed to promote all the way to production from Octopus. Offline deployments are great as they allow us to retain our tried and tested deployment process but instead, humans become the tentacles when deploying in prod and pre-prod.
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.