Octopus Deploy and TeamCity A
You may already use TeamCity, or you might be planning your next CI/CD pipeline. Octopus Deploy brings best-in-class deployments, release management, and operations runbooks capabilities, giving your team power far beyond what's included with TeamCity.
About TeamCity
TeamCity is a powerful build server. It works with any source control system you might have, and it has built-in tasks for compiling and running tests for any common programming language.
It can build your Visual Studio solution, run your unit tests, collect code coverage data, and perform code analysis.
On the surface, TeamCity is a continuous delivery tool, but read through the details and you'll find that deployment is limited to calling a big script that you write yourself. It's up to you to figure out the nitty gritty deployment details.
About Octopus Deploy
Just like TeamCity makes build automation easy, Octopus Deploy makes deployment automation easy.
TeamCity builds the code and runs tests, while Octopus takes care of:
- Distributing applications to all the remote machines, securely
- Environment-specific configuration, like connection strings
- Configuring IIS sites and installing Windows Services
- Doing all of the above across many machines in parallel
Learn more about connecting TeamCity with Octopus and our TeamCity plugin.
Incredibly easy to get going
1. Define your deployment process once
Your deployment process tells Octopus how your application will be deployed. It's made of high-level steps that run against groups of deployment targets (virtual machines, Kubernetes namespaces, and more).
The deployment process editor gives you access to over 450 automation step templates that cover a range of technologies and infrastructure, including .NET, Java, Docker, Kubernetes, Tomcat, JBoss, Terraform, Pulumi, database deployments, monitoring solutions, and firewalls. Octopus also includes steps for Slack and email notifications, and can pause deployments for humans to intervene. This allows you to keep everybody informed about the status and pull the right people into the process when they’re needed.
Octopus supports advanced deployment patterns, including rolling, blue-green, canary, and multi-tenancy to support your deployment strategy. This makes it possible to gradually roll out releases, test new features with a subset of your user base, and deploy customer-specific versions of your apps.
2. Configure environments & variables
Variables in Octopus let you use the same deployment process across your environments without hardcoding configuration settings into your process. Octopus can store passwords and other secrets so they can be used in your processes but remain secure and uncompromised.
During deployments, Octopus automatically replaces values in your configuration files - no scripting needed.
Variable values can be scoped to one or many environments, or even to individual targets, steps in your process, or tenants in a multi-tenant application. Variables support filters so the output is exactly what’s needed.
Variables can be shared between projects, deployment processes, and the operations runbooks that keep your software running, giving your team a single source of truth.
3. Deploy and promote with confidence
Octopus understands how real software teams work. Most releases get deployed to dev or test environments, and some get promoted further - eventually into production, when the time is right.
- Enable self-service dev & test deployments, but limit access to production deployments
- Guarantee that a release has been tested in a test environment before it's promoted to production
- Prevent a release from being promoted if a bug is discovered
- Require approvals before or after a deployment
- Wait for a human to perform a task that needs to be done manually
Octopus brings the deployment logs into a single central view, even as deployment steps run in parallel, so you'll always know what's happening.
Immediate answers to critical questions
Stop wondering what version of your application is deployed to what environment.
Over 450 steps
Deploy just about anything without scripting. Send Slack notifications, notify monitoring tools of a deployment, upload files to your CDN, run a SQL script – Octopus probably has a deployment step for it. View the full list of templates in the community library.
Your operations control center
Runbooks are those emergency or routine operations tasks that you do to keep your application running. Like deployments, runbooks benefit from automation. Octopus is the first CD tool to add first-class runbook automation.
Automate routine and emergency runbooks
Octopus creates a central location for teams to manage, control, audit, schedule, and execute runbooks. You can see when a runbook was last executed, you can see any changes to the runbook, and you can run the same runbook against different environments. Team members can easily find a runbook and click a big green button to run it. Everyone can see the output from the last run and whether it succeeded or not.
Runbook automation helps teams to automate recovery processes and execute them against their infrastructure. Restart web servers on Windows or Linux, recreate infrastructure, reset caches, clean up files, or anything you can automate in your favorite scripting language.
Any team member with permission can execute the runbook for fast incident recovery without requiring unfettered access to the infrastructure, and a detailed audit log helps meet your compliance needs.
Self–service operations
System administrators and operations teams are often overwhelmed with emails, Slack messages, and help desk tickets asking them to fix problems or perform specific tasks. This is compounded by the increasing complexity of IT environments (Kubernetes, microservices, and more) as well as security and compliance requirements.
Runbook automation helps teams to reduce this burden by automating the most common tasks so teams can run them themselves. Self-service operations enable end-users, development teams, and support staff to independently execute tasks to save time, and it enables operations teams to work on strategic projects instead of busywork.
Opinionated software
We know what good deployment & runbook automation should look like, and we've formed many opinions on this over the 8 years we've been helping customers. Octopus embodies these opinions and principles.
Build once
You want to guarantee that what you tested last week is the same thing that you're deploying to production today. You don't want to recompile or resolve dependencies in between that, as it introduces risk.
Process consistency
You deploy to dev & test more often than production. By reusing the same deployment process between environments, and treating differences as exceptions rather than the rule, production deployments are far more likely to succeed.
Try, try again
Most build/CI servers follow the "fail early, fail fast principle". For deployments, you want the opposite! If something happens during a production deployment, you want to keep going and do the best you can, or ask for a human to intervene.
No YAML
Many DevOps tools today assume everyone on your team has coding skills. The high-level deployment steps in Octopus and the friendly user experience means everybody can understand how the deployment works and even contribute to it, without needing to become YAML experts.
Minimize downtime
Everything in Octopus is designed to help minimize downtime as much as possible during a deployment. Use advanced deployment patterns like blue-green, canary or rolling deployments to keep downtime to a minimum. In single-server environments, Octopus tries to do as much as can be done ahead of time, to keep the maintenance window as short as possible.
Flexibility
The opinions and built-in functionality in Octopus are designed to make you productive, but they might not work for everyone. We've built plenty of escape hatches, from options to change the default behaviors, to running custom scripts in your deployment process, to a comprehensive API that does everything the UI can do.
Manage deployments for customers
Octopus is the only release management, deployment and runbook automation solution with first-class multi-tenancy support, letting you manage deployments to a single customer or a group without duplication.
Genuinely helpful support
of responses in 2 hours or less
We're here when you need us!
Get friendly, world-class support from a team of experts near you at no additional cost. Our team is located in the United States, United Kingdom, and Australia, and you'll nearly always get a response within two business hours.
Ready to get started?
Start a free 30 day trial of Octopus Server or Octopus Cloud, or contact us to discuss your goals and how Octopus Deploy might help.