Files
nexus/sreweekly/articles/479/01-automatic-rollbacks-are-a-last-resort.html
2026-09-12 17:23:01 +08:00

1734 lines
109 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html dir="ltr" lang="en" class="initial"> <head><meta charset="utf-8"><title>Automatic Rollbacks Are A Last Resort | Octopus blog</title><meta name="robots" content="max-image-preview:large, index, follow"><meta name="keywords"><meta name="description" content="Find out why automatic rollbacks are rarely the right answer to deployment challenges."><link rel="preconnect" href="https://octopus.com" crossorigin><link rel="preload" as="image" href="/blog/i/x/cover/blogimage-modernrollbackstratgies-2023.png" imagesrcset="/blog/i/600/cover/blogimage-modernrollbackstratgies-2023.webp 600w, /blog/i/1000/cover/blogimage-modernrollbackstratgies-2023.webp 1000w, /blog/i/2000/cover/blogimage-modernrollbackstratgies-2023.webp 1500w" imagesizes="(min-width: 1680px) 1000px, (min-width: 940px) calc(71.81vw - 192px), calc(100vw - 32px)" fetchpriority="high"><link rel="stylesheet" href="https://octopus.com/octopus-public/assets/pu-vars.css"><link rel="stylesheet" href="https://octopus.com/octopus-public/assets/navbar-pu-styles.css"><link rel="stylesheet" href="https://octopus.com/octopus-public/assets/footer-pu-styles.css" media="print" onload="this.media='all';this.onload=null"><link rel="stylesheet" href="https://octopus.com/octopus-public/assets/marketo-pu-styles.css" media="print" onload="this.media='all';this.onload=null"><noscript><link rel="stylesheet" href="https://octopus.com/octopus-public/assets/footer-pu-styles.css"><link rel="stylesheet" href="https://octopus.com/octopus-public/assets/marketo-pu-styles.css"></noscript><link rel="stylesheet" href="/blog/css/vars.css"><link rel="stylesheet" href="/blog/css/main.css"><meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#311e3e"><link rel="canonical" href="https://octopus.com/blog/automatic-rollbacks-last-resort"><link rel="alternate" type="application/atom+xml" title="Octopus blog" href="/blog/feed.xml"><link rel="alternate" href="/blog/sitemap.xml" type="application/rss+xml"><link rel="shortcut icon" href="/blog/icons/favicon.ico" type="image/x-icon"><link rel="apple-touch-icon" href="/blog/icons/apple-touch-icon.png"><meta property="og:type" content="website"><meta property="og:url" content="https://octopus.com/blog/automatic-rollbacks-last-resort"><meta property="og:title" content="Automatic rollbacks are a last resort"><meta property="og:description" content="Find out why automatic rollbacks are rarely the right answer to deployment challenges."><meta property="og:image" content="https://octopus.com/blog/img/cover/blogimage-modernrollbackstratgies-2023.png"><meta property="og:image:alt" content="4 release boxes labelled 1.1 to 1.4, the 3rd with a green tick, 4th on fire with a red cross. A rocket travels back from 1.4 to 1.3."><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Automatic rollbacks are a last resort"><meta name="twitter:description" content="Find out why automatic rollbacks are rarely the right answer to deployment challenges."><meta name="twitter:image" content="https://octopus.com/blog/img/cover/blogimage-modernrollbackstratgies-2023.png"><meta name="twitter:image:alt" content="4 release boxes labelled 1.1 to 1.4, the 3rd with a green tick, 4th on fire with a red cross. A rocket travels back from 1.4 to 1.3."><meta name="view-transition" content="same-origin"><meta name="fediverse:creator" content="@stevefenton@mastodon.social"><!-- Icons are decorative and used on ~10% of pages - load off the critical path -->
<link href="/blog/css/fa/css/fontawesome.css" rel="stylesheet" media="print" onload="this.media='all';this.onload=null">
<link href="/blog/css/fa/css/brands.css" rel="stylesheet" media="print" onload="this.media='all';this.onload=null">
<link href="/blog/css/fa/css/solid.css" rel="stylesheet" media="print" onload="this.media='all';this.onload=null">
<noscript>
<link href="/blog/css/fa/css/fontawesome.css" rel="stylesheet">
<link href="/blog/css/fa/css/brands.css" rel="stylesheet">
<link href="/blog/css/fa/css/solid.css" rel="stylesheet">
</noscript>
<meta name="google-site-verification" content="nIbWsTU_ELqMnLNxIexH_s6ch3m-s_MaFnl5u8WoaRM" />
<!-- Inline Script to set the initial theme -->
<script>
(() => {
const theme = localStorage.getItem('theme') || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
document.documentElement.setAttribute('data-theme', theme);
})();
</script>
<script defer>
const whenActivated = new Promise((resolve) => {
if (document.prerendering) {
document.addEventListener('prerenderingchange', resolve);
} else {
resolve();
}
});
async function add_gtm(w,d,s,l,i) {
// Only add analytics if the page is not "pre-rendering"
await whenActivated;
w[l] = w[l]||[];w[l].push({'gtm.start': new Date().getTime(), event:'gtm.js'});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer'
? '&l=' + l
: '';
j.defer=true;
j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;
f.parentNode.insertBefore(j, f);
}
if (document.location.hostname === 'octopus.com'
|| document.location.hostname === 'www.octopus.com') {
// Only add analytics to production site
add_gtm(window, document, 'script', 'dataLayer', 'GTM-MQ943TFN');
}
</script><script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Automatic rollbacks are a last resort",
"description": "Find out why automatic rollbacks are rarely the right answer to deployment challenges.",
"author": {
"@type": "Person",
"name": "Steve Fenton"
},
"datePublished": "2025-05-15T00:00:00.000Z",
"dateModified": "2025-05-15T00:00:00.000Z",
"publisher": {
"@type": "Organization",
"name": "Octopus Deploy",
"logo": {
"@type": "ImageObject",
"url": "/blog/img/octopus-glyph.png",
"width": 32,
"height": 32
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://octopus.com/blog/automatic-rollbacks-last-resort"
},
"image": {
"@type": "ImageObject",
"url": "https://octopus.com/blog/img/cover/blogimage-modernrollbackstratgies-2023.png",
"width": 1200,
"height": 800
},
"articleSection": "DevOps, Continuous Delivery, Deployment Patterns, Rollbacks"
}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://octopus.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://octopus.com/blog"},{"@type":"ListItem","position":3,"name":"Automatic rollbacks are a last resort","item":"https://octopus.com/blog/automatic-rollbacks-last-resort"}]}</script></head> <body data-theme="dark"> <nav class="skip-links" aria-label="Skip Links" id="site-top"> <a href="#site-nav">Skip to navigation</a> <a href="#site-main">Skip to main content</a> <a href="#site-footer">Skip to footer</a> </nav> <div data-shared-source="live" data-shared-fragment="navbar" data-shared-note="fetched https://octopus.com/fragments/navbar at 2026-09-11T10:55:57.546Z">
<nav class="navbar navbar-pu site-header" aria-label="Main" data-navbar-pu itemscope itemtype="https://schema.org/SiteNavigationElement">
<div class="nav-container">
<div class="navbar-content">
<a class="navbar__logo" href="https://octopus.com/" aria-label="Octopus Deploy homepage" data-navbar-logo itemprop="url">
<svg id="glyph-icon" class="icon icon--octopus" xmlns="http://www.w3.org/2000/svg" width="144.4" height="154.6" version="1.1" viewBox="0 0 144.4 154.6">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.logo-color {
fill: #0d80d8;
}
</style>
</defs>
<path id="glyph-icon1" data-name="glyph-icon" class="logo-color" d="M9.5,117.2c11.5-7.6,24.9-20.4,20-35.4-2.8-8.3-6.6-15.2-7.3-24.2-.5-7.6.7-15.2,3.3-22.1C35.8,7.4,66.6-5.9,94.4,2.4c25.6,7.8,43.2,38,32.7,64.1-6.1,15.2-8.9,27.1,4.7,38.7,3.8,3.1,12.7,8.1,12.7,13.8s-14.6-1.7-16-2.8c1.9,3.3,20,22.3,8.5,23.8-10.6,1.2-20-13.8-26.3-20.2-10.8-10.9-8.9,13.1-8.9,18.1,0,7.8-5.6,23.8-15.3,13.3-8-8.6-4.9-22.1-10.6-31.6-6.1-10.5-16.5,10.5-19,14.3-2.8,4.3-17.2,24.7-22.8,13.8-4.7-8.8,2.8-22.8,6.3-30.9-1.4,2.8-10.8,7.1-13.4,8.6-5.9,3.3-12.7,5-19.5,4.5-14.8-1-3.8-8.8,2.1-12.6Z"/>
</svg>
<svg id="wordmark-octopus-deploy" class="icon icon--octopus-deploy-wordmark" xmlns="http://www.w3.org/2000/svg" width="751.5" height="98.9" version="1.1" viewBox="0 0 751.5 98.9">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.logo-wordmark-color {
fill: #0a151e;
}
</style>
</defs>
<path id="wordmark-octopus-deploy1" data-name="wordmark-octopus-deploy" class="logo-wordmark-color" d="M70.2,39.2c0,8.2-1.5,15.3-4.6,21.2-3.1,5.8-7.2,10.3-12.5,13.4-5.3,3.1-11.3,4.7-17.9,4.7s-12.7-1.6-18-4.7c-5.3-3.1-9.4-7.6-12.5-13.5C1.5,54.5,0,47.5,0,39.2s1.5-15.3,4.6-21.1c3.1-5.9,7.3-10.4,12.5-13.5C22.4,1.6,28.4,0,35.1,0s12.7,1.6,17.9,4.7c5.3,3.1,9.5,7.6,12.5,13.5,3.1,5.8,4.6,12.9,4.6,21.1ZM56.3,39.2c0-5.8-.9-10.7-2.7-14.7-1.8-4-4.3-7-7.5-9.1-3.2-2.1-6.9-3.1-11-3.1s-7.8,1-11,3.1c-3.2,2-5.7,5.1-7.5,9.1-1.8,4-2.7,8.9-2.7,14.7s.9,10.7,2.7,14.7c1.8,4,4.3,7,7.5,9.1,3.2,2,6.9,3.1,11,3.1s7.8-1,11-3.1c3.2-2.1,5.7-5.1,7.5-9.1,1.8-4,2.7-8.9,2.7-14.7ZM103.6,78.6c-5.7,0-10.6-1.3-14.7-3.8-4.1-2.5-7.2-6-9.4-10.4-2.2-4.5-3.3-9.6-3.3-15.4s1.1-11,3.4-15.4c2.2-4.5,5.4-8,9.5-10.4,4.1-2.5,9-3.8,14.5-3.8s8.8.9,12.3,2.6c3.6,1.7,6.5,4.1,8.6,7.2,2.1,3.1,3.4,6.7,3.7,10.8h-12.9c-.5-2.8-1.8-5.1-3.7-6.9-1.9-1.9-4.5-2.8-7.8-2.8s-5.2.7-7.3,2.2c-2.1,1.5-3.7,3.6-4.9,6.3-1.1,2.8-1.7,6.1-1.7,9.9s.6,7.3,1.7,10.1c1.1,2.8,2.7,4.9,4.8,6.5,2.1,1.5,4.5,2.2,7.4,2.2s3.8-.4,5.3-1.1c1.6-.8,2.9-1.9,4-3.3,1.1-1.4,1.8-3.2,2.2-5.3h12.9c-.3,4.1-1.5,7.6-3.6,10.8-2.1,3.1-4.9,5.5-8.4,7.3-3.6,1.7-7.7,2.6-12.5,2.6ZM163.8,20.1v10.4h-32.9v-10.4h32.9ZM139,6.4h13.5v53.8c0,1.8.3,3.2.8,4.2.6.9,1.3,1.6,2.2,1.9.9.3,1.9.5,3.1.5s1.6,0,2.3-.2c.7-.1,1.3-.2,1.6-.3l2.3,10.6c-.7.2-1.8.5-3.1.8-1.3.3-2.9.5-4.8.5-3.4.1-6.4-.4-9.1-1.5-2.7-1.1-4.9-2.9-6.5-5.3-1.6-2.4-2.3-5.4-2.3-9V6.4ZM195.4,78.6c-5.6,0-10.4-1.2-14.5-3.7-4.1-2.5-7.3-5.9-9.6-10.3-2.2-4.4-3.4-9.6-3.4-15.5s1.1-11.1,3.4-15.6c2.3-4.5,5.4-7.9,9.6-10.4,4.1-2.5,9-3.7,14.5-3.7s10.4,1.2,14.6,3.7c4.1,2.5,7.3,5.9,9.5,10.4,2.3,4.5,3.4,9.6,3.4,15.6s-1.1,11.1-3.4,15.5c-2.2,4.4-5.4,7.9-9.5,10.3-4.1,2.5-9,3.7-14.6,3.7ZM195.5,67.7c3,0,5.6-.8,7.6-2.5,2-1.7,3.6-4,4.6-6.8,1-2.8,1.5-6,1.5-9.5s-.5-6.7-1.5-9.5c-1-2.9-2.5-5.1-4.6-6.8-2-1.7-4.6-2.5-7.6-2.5s-5.7.8-7.8,2.5c-2,1.7-3.6,4-4.6,6.8-1,2.8-1.5,6-1.5,9.5s.5,6.6,1.5,9.5c1,2.8,2.5,5.1,4.6,6.8,2.1,1.7,4.7,2.5,7.8,2.5ZM230.3,98.9V20.1h13.3v9.5h.8c.7-1.4,1.7-2.9,2.9-4.4,1.3-1.6,3-2.9,5.1-4.1,2.2-1.1,4.9-1.7,8.3-1.7s8.4,1.1,12,3.4c3.6,2.2,6.4,5.6,8.5,10,2.1,4.4,3.2,9.7,3.2,16.1s-1,11.6-3.1,16c-2.1,4.4-4.9,7.8-8.4,10.1-3.6,2.3-7.6,3.5-12.1,3.5s-6-.5-8.2-1.6c-2.2-1.1-3.9-2.4-5.2-4-1.3-1.6-2.3-3-3-4.4h-.6v30.5h-13.5ZM243.5,48.8c0,3.7.5,7,1.6,9.7,1.1,2.8,2.6,5,4.6,6.5,2,1.5,4.5,2.3,7.3,2.3s5.5-.8,7.5-2.4c2-1.6,3.5-3.8,4.6-6.6,1-2.8,1.6-6,1.6-9.6s-.5-6.7-1.5-9.5c-1-2.8-2.5-4.9-4.6-6.5-2-1.6-4.5-2.4-7.5-2.4s-5.3.8-7.3,2.3c-2,1.5-3.5,3.6-4.6,6.4-1,2.7-1.5,6-1.5,9.7ZM328.4,53.3V20.1h13.5v57.3h-13.1v-10.2h-.6c-1.3,3.2-3.4,5.8-6.4,7.9-2.9,2-6.6,3.1-10.9,3.1s-7.1-.8-10-2.5c-2.9-1.7-5.1-4.1-6.7-7.3-1.6-3.2-2.4-7.1-2.4-11.7V20.1h13.5v34.4c0,3.6,1,6.5,3,8.7,2,2.1,4.6,3.2,7.8,3.2s3.9-.5,5.8-1.5c1.9-1,3.4-2.4,4.6-4.3,1.2-1.9,1.8-4.4,1.8-7.3ZM397,35.3l-12.3,1.3c-.3-1.2-1-2.4-1.8-3.5-.8-1.1-2-2-3.4-2.6-1.4-.7-3.2-1-5.3-1s-5.2.6-7.1,1.8c-1.9,1.2-2.8,2.8-2.8,4.7,0,1.7.6,3,1.8,4.1,1.3,1,3.4,1.9,6.3,2.6l9.8,2.1c5.4,1.2,9.5,3,12.1,5.6,2.7,2.5,4,5.9,4,10,0,3.6-1.1,6.8-3.2,9.6-2.1,2.7-4.9,4.9-8.6,6.4-3.7,1.5-7.9,2.3-12.7,2.3-7,0-12.7-1.5-16.9-4.4-4.3-3-6.8-7.1-7.6-12.3l13.2-1.3c.6,2.6,1.9,4.5,3.8,5.9,1.9,1.3,4.5,2,7.6,2s5.8-.7,7.7-2c2-1.3,2.9-2.9,2.9-4.9s-.6-3-1.9-4.1c-1.2-1.1-3.2-1.9-5.8-2.5l-9.8-2.1c-5.5-1.1-9.6-3.1-12.2-5.8-2.6-2.7-3.9-6.2-3.9-10.4,0-3.5.9-6.6,2.9-9.2,2-2.6,4.7-4.6,8.2-6,3.5-1.4,7.5-2.2,12.1-2.2,6.7,0,12,1.4,15.9,4.3,3.9,2.9,6.3,6.7,7.2,11.6ZM453.8,77.4h-25.9V1h26.4c7.6,0,14.1,1.5,19.5,4.6,5.5,3,9.7,7.4,12.6,13.1,2.9,5.7,4.4,12.5,4.4,20.4s-1.5,14.8-4.4,20.5c-2.9,5.7-7.2,10.1-12.7,13.2-5.5,3.1-12.2,4.6-19.9,4.6ZM441.7,65.5h11.4c5.3,0,9.8-1,13.3-2.9,3.6-2,6.2-4.9,8-8.8,1.8-3.9,2.7-8.8,2.7-14.6s-.9-10.7-2.7-14.5c-1.8-3.9-4.4-6.8-7.9-8.7-3.5-1.9-7.8-2.9-13-2.9h-11.8v52.5ZM524.7,78.6c-5.7,0-10.7-1.2-14.9-3.6-4.2-2.4-7.3-5.8-9.6-10.2-2.2-4.4-3.4-9.6-3.4-15.6s1.1-11.1,3.4-15.5c2.3-4.5,5.4-8,9.5-10.4,4.1-2.5,8.8-3.8,14.3-3.8s6.9.6,10,1.7c3.2,1.1,5.9,2.9,8.4,5.2,2.4,2.4,4.4,5.4,5.7,9,1.4,3.6,2.1,8,2.1,13v4.1h-47v-9.1h34c0-2.6-.6-4.9-1.7-6.9-1.1-2-2.6-3.6-4.6-4.8-1.9-1.2-4.2-1.8-6.8-1.8s-5.2.7-7.3,2c-2.1,1.3-3.7,3.1-4.9,5.2-1.1,2.1-1.7,4.5-1.8,7.1v7.9c0,3.3.6,6.2,1.8,8.6,1.2,2.4,2.9,4.2,5.1,5.4,2.2,1.2,4.8,1.9,7.7,1.9s3.7-.3,5.3-.8c1.6-.6,3-1.4,4.1-2.5,1.2-1.1,2.1-2.4,2.6-4.1l12.6,1.4c-.8,3.3-2.3,6.2-4.6,8.7-2.2,2.5-5,4.4-8.5,5.7-3.5,1.3-7.4,2-11.9,2ZM557.5,98.9V20.1h13.3v9.5h.8c.7-1.4,1.7-2.9,2.9-4.4,1.3-1.6,3-2.9,5.1-4.1,2.2-1.1,4.9-1.7,8.3-1.7s8.4,1.1,12,3.4c3.6,2.2,6.4,5.6,8.5,10,2.1,4.4,3.2,9.7,3.2,16.1s-1,11.6-3.1,16c-2.1,4.4-4.9,7.8-8.4,10.1-3.6,2.3-7.6,3.5-12.1,3.5s-6-.5-8.2-1.6c-2.2-1.1-3.9-2.4-5.2-4-1.3-1.6-2.3-3-3-4.4h-.6v30.5h-13.5ZM570.8,48.8c0,3.7.5,7,1.6,9.7,1.1,2.8,2.6,5,4.6,6.5,2,1.5,4.5,2.3,7.3,2.3s5.5-.8,7.5-2.4c2-1.6,3.5-3.8,4.6-6.6,1-2.8,1.6-6,1.6-9.6s-.5-6.7-1.5-9.5c-1-2.8-2.5-4.9-4.6-6.5-2-1.6-4.5-2.4-7.5-2.4s-5.3.8-7.3,2.3c-2,1.5-3.5,3.6-4.6,6.4-1,2.7-1.5,6-1.5,9.7ZM632.6,1v76.4h-13.5V1h13.5ZM667.4,78.6c-5.6,0-10.4-1.2-14.5-3.7-4.1-2.5-7.3-5.9-9.5-10.3-2.2-4.4-3.4-9.6-3.4-15.5s1.1-11.1,3.4-15.6c2.3-4.5,5.4-7.9,9.5-10.4s9-3.7,14.5-3.7,10.4,1.2,14.5,3.7c4.1,2.5,7.3,5.9,9.5,10.4,2.3,4.5,3.4,9.6,3.4,15.6s-1.1,11.1-3.4,15.5c-2.2,4.4-5.4,7.9-9.5,10.3-4.1,2.5-9,3.7-14.5,3.7ZM667.5,67.7c3,0,5.6-.8,7.6-2.5,2-1.7,3.6-4,4.6-6.8,1-2.8,1.5-6,1.5-9.5s-.5-6.7-1.5-9.5c-1-2.9-2.5-5.1-4.6-6.8-2-1.7-4.6-2.5-7.6-2.5s-5.7.8-7.8,2.5c-2,1.7-3.6,4-4.6,6.8-1,2.8-1.5,6-1.5,9.5s.5,6.6,1.5,9.5c1,2.8,2.5,5.1,4.6,6.8,2.1,1.7,4.7,2.5,7.8,2.5ZM708.7,98.9c-1.8,0-3.5-.1-5.1-.4-1.5-.3-2.8-.6-3.7-1l3.1-10.5c2,.6,3.7.8,5.3.8s2.9-.5,4.1-1.5c1.2-.9,2.2-2.5,3-4.6l1.2-3.1-20.8-58.5h14.3l13.2,43.3h.6l13.2-43.3h14.4l-22.9,64.2c-1.1,3-2.5,5.6-4.3,7.8-1.8,2.2-3.9,3.9-6.5,5-2.5,1.2-5.6,1.8-9.1,1.8Z"/>
</svg>
<span class="visually-hidden" itemprop="name">Octopus Deploy</span>
</a>
<div id="main-navbar" class="navbar__menu" data-navbar-menu>
<ul class="navbar__sections">
<li class="navbar__section">
<button type="button" class="navbar__button" aria-expanded="false" aria-controls="dropdown-solutions"
data-navbar-section-toggle data-target="dropdown-solutions"
aria-label="Solutions menu">
<span>Solutions</span>
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
</li>
<li class="navbar__section">
<a class="navbar__button" href="https://octopus.com/pricing/overview" itemprop="url">
<span itemprop="name">Pricing</span>
</a>
</li>
<li class="navbar__section">
<a class="navbar__button" href="https://octopus.com/docs" target="_blank" rel="noopener noreferrer" itemprop="url">
<span itemprop="name">Docs</span>
</a>
</li>
<li class="navbar__section">
<button type="button" class="navbar__button" aria-expanded="false" aria-controls="dropdown-resources"
data-navbar-section-toggle data-target="dropdown-resources"
aria-label="Resources menu">
<span>Resources</span>
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
</li>
<li class="navbar__section">
<button type="button" class="navbar__button" aria-expanded="false" aria-controls="dropdown-company"
data-navbar-section-toggle data-target="dropdown-company"
aria-label="Company menu">
<span>Company</span>
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
</li>
</ul>
<ul class="navbar__sections navbar__sections--secondary" data-navbar-secondary>
<li class="navbar__section" data-navbar-signin>
<a class="navbar__button" href="https://octopus.com/signin" rel="nofollow" itemprop="url">
<span itemprop="name">Sign in</span>
</a>
</li>
<li class="navbar__section navbar__section--contact">
<a class="navbar__button navbar__button--contact button button--secondary" href="https://octopus.com/company/contact" itemprop="url">
<span itemprop="name">Contact us</span>
</a>
</li>
<li class="navbar__section" data-navbar-signup>
<a class="navbar__button navbar__button--signup button button--primary" href="https://octopus.com/free-signup?location=nav-bar" rel="nofollow" itemprop="url">
<span itemprop="name">Start for free</span>
</a>
</li>
<li class="navbar__section navbar__section--user" data-navbar-profile hidden>
<div class="navbar__user-menu">
<button type="button" class="navbar__button navbar__user-toggle" data-navbar-profile-link
aria-expanded="false" aria-controls="dropdown-user" data-target="dropdown-user"
aria-label="User profile menu">
<span class="navbar__profile-image" data-navbar-profile-image>
<img src="data:image/gif;base64,R0lGODlhAQABAAAAACw=" alt="" loading="lazy" hidden />
</span>
<span class="personal" data-navbar-profile-name>User</span>
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
</div>
</li>
</ul>
</div>
<button class="navbar__toggler" type="button" aria-label="Open navigation menu" aria-controls="main-navbar" aria-expanded="false" data-navbar-toggler>
<span class="hamburger" aria-hidden="true">
<span class="hamburger__bar"></span>
<span class="hamburger__bar"></span>
<span class="hamburger__bar"></span>
</span>
</button>
</div>
</div>
<div class="navbar__panels" data-navbar-panels>
<nav class="navbar__dropdown" id="dropdown-solutions" data-navbar-dropdown aria-label="Solutions">
<button type="button" class="navbar__back-btn" data-navbar-back aria-label="Back to menu">
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
<span>Back</span>
</button>
<div class="navbar__subsection">
<ul class="navbar__subsection-items">
<li class="navbar__item">
<span class="navbar__item-sub-category">Octopus Deploy</span>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/use-case/kubernetes" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/c234e77f86/icon-kubernetes.svg" alt="Kubernetes icon logo steer blue gradient" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Kubernetes deployments</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/use-case/platform-hub" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/cc44e17bdf/icon-platform-hub.svg" alt="Blue boxes stacked on top of each other" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Platform Hub</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/use-case/environment-promotion" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/e2c09018a3/icon-environment-promotion.svg" alt="icon environment promotion gear blue gradient" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Environment promotion</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/ai-tools" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/bd93d826d3/icon-ai.svg" alt="AI icon" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">AI tools</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/use-case/argo-cd-in-octopus" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/d42ce2a726/icon-argo.svg" alt="Argo icon" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Argo CD in Octopus</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/use-case/runbooks" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/d9ab08e6a3/icon-runbooks.svg" alt="runbooks running book with a wrench on it blue gradient" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Automate operations tasks</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/use-case/tenanted-deployments" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/c89e19472b/icon-tenanted-deployments.svg" alt="icon tenanted deployments blue gradient three people" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Tenanted deployments</span>
</a>
</li>
</ul>
</div>
<div class="navbar__subsection">
<ul class="navbar__subsection-items">
<li class="navbar__item">
<span class="navbar__item-sub-category">Explore</span>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/downloads" itemprop="url">
<span class="navbar__item-label" itemprop="name">Install Octopus self-hosted</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/downloads/compare" itemprop="url">
<span class="navbar__item-label" itemprop="name">Compare releases</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/integrations" itemprop="url">
<span class="navbar__item-label" itemprop="name">Integrations</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://roadmap.octopus.com/tabs/2-planned" itemprop="url">
<span class="navbar__item-label" itemprop="name">Octopus Roadmap</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/free" itemprop="url">
<span class="navbar__item-label" itemprop="name">Start for free</span>
</a>
</li>
</ul>
</div>
<svg class="icon icon--marker-navbar" xmlns="http://www.w3.org/2000/svg" width="32" height="15" viewBox="0 0 32 15" fill="none">
<path d="M13.8787 1.12132L0 15H32L18.1213 1.12132C16.9497 -0.0502526 15.0503 -0.050255 13.8787 1.12132Z" fill="white"/>
</svg>
</nav>
<nav class="navbar__dropdown" id="dropdown-resources" data-navbar-dropdown aria-label="Resources">
<button type="button" class="navbar__back-btn" data-navbar-back aria-label="Back to menu">
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
<span>Back</span>
</button>
<div class="navbar__subsection">
<p class="navbar__subsection-title" id="dropdown-resources-explore">Explore</p>
<ul class="navbar__subsection-items" aria-labelledby="dropdown-resources-explore">
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/company/customers" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/00525c876d/icon-customer-stories.svg" alt="icon customer stories success example graduate" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Customer stories</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/webinars" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/a7c01192c7/icon-webinars.svg" alt="icon camera webinars videos capture" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Webinars</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/1845d0555a/icon-nav-publications.svg" alt="Publications icon" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Publications</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/downloads" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/0008b1a75e/nav-icon-downloads.svg" alt="Downloads icon" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Downloads</span>
</a>
</li>
</ul>
</div>
<div class="navbar__subsection">
<p class="navbar__subsection-title" id="dropdown-resources-support-and-services">Support and services</p>
<ul class="navbar__subsection-items" aria-labelledby="dropdown-resources-support-and-services">
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/docs" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/0724935a2e/icon-devops-handbook.svg" alt="icon book devops DevOps handbook ci cd cycle" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Documentation</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/support" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/ecb140a3aa/icon-partners.svg" alt="icon support partners handshake trust" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Customer support</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://learning.octopus.com/" target="_blank" rel="noopener noreferrer" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/7802cd7dd7/icon-certificates-1.svg" alt="Certification icon" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Certification</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/company/trust" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/d01a1b10a9/icon-trust-security.svg" alt="icon trust and security lock pad" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Trust and security</span>
</a>
</li>
</ul>
</div>
<div class="navbar__subsection">
<p class="navbar__subsection-title" id="dropdown-resources-publications">Publications</p>
<ul class="navbar__subsection-items" aria-labelledby="dropdown-resources-publications">
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications/ai-pulse-report" itemprop="url">
<span class="navbar__item-label" itemprop="name">AI Pulse report</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications/compliance-through-continuous-delivery" itemprop="url">
<span class="navbar__item-label" itemprop="name">Compliance through CD</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications/platform-engineering-pulse" itemprop="url">
<span class="navbar__item-label" itemprop="name">Platform Engineering Pulse report</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications/state-of-gitops-report" itemprop="url">
<span class="navbar__item-label" itemprop="name">State of GitOps report</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications/argo-cd-best-practices" itemprop="url">
<span class="navbar__item-label" itemprop="name">Argo CD best practices</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/whitepapers/kubernetes-delivery-unlocked" itemprop="url">
<span class="navbar__item-label" itemprop="name">Kubernetes delivery unlocked</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/publications" itemprop="url">
<span class="navbar__item-label" itemprop="name">View all publications</span>
</a>
</li>
</ul>
</div>
<svg class="icon icon--marker-navbar" xmlns="http://www.w3.org/2000/svg" width="32" height="15" viewBox="0 0 32 15" fill="none">
<path d="M13.8787 1.12132L0 15H32L18.1213 1.12132C16.9497 -0.0502526 15.0503 -0.050255 13.8787 1.12132Z" fill="white"/>
</svg>
</nav>
<nav class="navbar__dropdown" id="dropdown-company" data-navbar-dropdown aria-label="Company">
<button type="button" class="navbar__back-btn" data-navbar-back aria-label="Back to menu">
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
<span>Back</span>
</button>
<div class="navbar__subsection">
<p class="navbar__subsection-title" id="dropdown-company-careers">Careers</p>
<ul class="navbar__subsection-items" aria-labelledby="dropdown-company-careers">
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/company/careers" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/91b747265a/icon-careers-join-us.svg" alt="icon person plus career join us" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Join us</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://handbook.octopus.com/" target="_blank" rel="noopener noreferrer" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/45x45/94e4d7a548/icon-company-handbook.svg" alt="icon octopus handbook book" loading="lazy" width="45" height="45" />
</span>
</span>
<span class="navbar__item-label" itemprop="name">Company handbook</span>
</a>
</li>
</ul>
</div>
<div class="navbar__subsection">
<p class="navbar__subsection-title" id="dropdown-company-explore">Explore</p>
<ul class="navbar__subsection-items" aria-labelledby="dropdown-company-explore">
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/company" itemprop="url">
<span class="navbar__item-label" itemprop="name">About us</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/company/contact" itemprop="url">
<span class="navbar__item-label" itemprop="name">Contact us</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/news" itemprop="url">
<span class="navbar__item-label" itemprop="name">News and media</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/events" itemprop="url">
<span class="navbar__item-label" itemprop="name">Events</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/partners" itemprop="url">
<span class="navbar__item-label" itemprop="name">Our partners</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://shop.octopus.com/" target="_blank" rel="noopener noreferrer" itemprop="url">
<span class="navbar__item-label" itemprop="name">Swag</span>
</a>
</li>
</ul>
</div>
<svg class="icon icon--marker-navbar" xmlns="http://www.w3.org/2000/svg" width="32" height="15" viewBox="0 0 32 15" fill="none">
<path d="M13.8787 1.12132L0 15H32L18.1213 1.12132C16.9497 -0.0502526 15.0503 -0.050255 13.8787 1.12132Z" fill="white"/>
</svg>
</nav>
<nav class="navbar__dropdown" id="dropdown-user" data-navbar-profile-dropdown aria-label="User profile">
<button type="button" class="navbar__back-btn" data-navbar-back aria-label="Back to menu">
<svg class="icon icon--chevron-navbar" width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.98755 1.5L6.98755 6.5L11.9875 1.5" stroke="#303E49" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
<span>Back</span>
</button>
<p class="navbar__panel-title" data-navbar-user-title>User</p>
<div class="navbar__subsection">
<ul class="navbar__subsection-items">
<li class="navbar__item">
<a class="navbar__item-link" href="https://billing.octopus.com" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45"><rect width="45" height="45" rx="8.9" fill="#f4f6f8"/><path d="M29.4 20.7l-.3.5c-.1.2-.3.3-.5.2-.4-.2-.8-.4-1.2-.7-.2-.1-.2-.4-.1-.6l.3-.5-.6-1h-.6c-.2 0-.4-.2-.4-.4v-1.3c0-.2.2-.4.4-.4h.6c.1-.4.3-.7.6-1l-.3-.5c-.1-.2 0-.4.1-.6.3-.3.7-.5 1.2-.7.2 0 .4 0 .5.2l.3.5h1.1l.3-.5c.1-.2.3-.3.5-.2.4.2.8.4 1.2.7.2.1.2.4.1.6l-.3.5.6 1h.6c.2 0 .4.2.4.4v1.3c0 .2-.2.4-.4.4h-.6c-.1.4-.3.7-.6 1l.3.5c.1.2 0 .4-.1.6-.3.3-.7.5-1.2.7-.2 0-.4 0-.5-.2l-.3-.5h-1.1zm-.4-2.1c1.4 1 3-.5 1.9-1.9-1.4-1-3 .5-1.9 1.9zm-4.1 5.5l1.2.6c.4.2.5.6.4 1-.3.9-.9 1.6-1.5 2.3-.3.3-.7.4-1.1.2l-1-.6c-.6.5-1.2.9-2 1.1v1.2c0 .4-.3.8-.7.8-.9.1-1.8.2-2.7 0-.4 0-.7-.4-.7-.8v-1.2c-.7-.3-1.4-.6-2-1.1l-1 .6c-.4.2-.8.1-1.1-.2-.6-.7-1.2-1.5-1.5-2.3-.1-.4 0-.8.4-1l1.2-.6c-.1-.7-.1-1.5 0-2.2l-1.2-.6c-.4-.2-.5-.6-.4-1 .3-.9.9-1.6 1.5-2.3.3-.3.7-.4 1.1-.2l1 .6c.6-.5 1.2-.9 2-1.1v-1.2c0-.4.3-.8.7-.8.9-.1 1.8-.2 2.7 0 .4 0 .7.4.7.8v1.2c.7.3 1.4.6 2 1.1l1-.6c.4-.2.8-.1 1.1.2.6.7 1.2 1.5 1.5 2.3.1.4 0 .8-.4 1l-1.2.6c.1.7.1 1.5 0 2.2zm-4.2.7c2.1-2.7-1-5.8-3.8-3.7-2.1 2.7 1 5.8 3.8 3.7zm8.7 6.4l-.3.5c-.1.2-.3.3-.5.2-.4-.2-.8-.4-1.2-.7-.2-.1-.2-.4-.1-.6l.3-.5-.6-1h-.6c-.2 0-.4-.2-.4-.4v-1.3c0-.2.2-.4.4-.4h.6c.1-.4.3-.7.6-1l-.3-.5c-.1-.2 0-.4.1-.6.3-.3.7-.5 1.2-.7.2 0 .4 0 .5.2l.3.5h1.1l.3-.5c.1-.2.3-.3.5-.2.4.2.8.4 1.2.7.2.1.2.4.1.6l-.3.5.6 1h.6c.2 0 .4.2.4.4v1.3c0 .2-.2.4-.4.4h-.6c-.1.4-.3.7-.6 1l.3.5c.1.2 0 .4-.1.6-.3.3-.7.5-1.2.7-.2 0-.4 0-.5-.2l-.3-.5h-1.1zm-.4-2c1.4 1 3-.5 1.9-1.9-1.4-1-3 .5-1.9 1.9z" fill="#282f38"/></svg>
</span>
</span>
<span class="navbar__item-label" itemprop="name">Control Center</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/profile" itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45"><rect width="45" height="45" rx="8.9" fill="#f4f6f8"/><path d="M22.5 9C15 9 9 15 9 22.5S15 36 22.5 36 36 30 36 22.5 30 9 22.5 9zm0 5.2c2.6 0 4.8 2.1 4.8 4.8s-2.1 4.8-4.8 4.8-4.8-2.1-4.8-4.8 2.1-4.8 4.8-4.8zm0 18.8c-3.2 0-6.1-1.4-8-3.7 1-1.9 3-3.3 5.4-3.3h.4c.7.2 1.4.4 2.2.4s1.5-.1 2.2-.4h.4c2.3 0 4.3 1.3 5.4 3.3-1.9 2.3-4.8 3.7-8 3.7z" fill="#282f38"/></svg>
</span>
</span>
<span class="navbar__item-label" itemprop="name">Profile</span>
</a>
</li>
<li class="navbar__item">
<a class="navbar__item-link" href="https://octopus.com/signout" data-navbar-signout itemprop="url">
<span class="navbar__item-icon" aria-hidden="true">
<span class="image-wrapper">
<svg xmlns="http://www.w3.org/2000/svg" width="45" height="45"><rect width="45" height="45" rx="8.9" fill="#f4f6f8"/><path d="M33.5,23.1l-7.7,7.4c-.7.7-1.9.2-1.9-.8v-4.2h-6.2c-.6,0-1.1-.5-1.1-1.1v-4.2c0-.6.5-1.1,1.1-1.1h6.2v-4.2c0-.9,1.2-1.4,1.9-.8l7.7,7.4c.4.4.4,1.1,0,1.5ZM19.6,30.3v-1.8c0-.3-.2-.5-.5-.5h-3.8c-.8,0-1.5-.6-1.5-1.4v-8.5c0-.8.7-1.4,1.5-1.4h3.8c.3,0,.5-.2.5-.5v-1.8c0-.3-.2-.5-.5-.5h-3.8c-2.4,0-4.4,1.9-4.4,4.2v8.5c0,2.3,2,4.2,4.4,4.2h3.8c.3,0,.5-.2.5-.5Z" fill="#282f38"/></svg>
</span>
</span>
<span class="navbar__item-label" itemprop="name">Sign out</span>
</a>
</li>
</ul>
</div>
<svg class="icon icon--marker-navbar" xmlns="http://www.w3.org/2000/svg" width="32" height="15" viewBox="0 0 32 15" fill="none">
<path d="M13.8787 1.12132L0 15H32L18.1213 1.12132C16.9497 -0.0502526 15.0503 -0.050255 13.8787 1.12132Z" fill="white"/>
</svg>
</nav>
</div>
</nav>
</div> <div class="content-group anim-show-parent"> <main id="site-main"> <nav class="site-breadcrumbs" aria-label="Breadcrumb"> <ol> <li> <a href="/blog" aria-current="false"> <span>Blog</span> </a> </li> <li> <a href="/blog/automatic-rollbacks-last-resort" aria-current="page"> <span>Automatic rollbacks are a last resort</span> </a> </li> </ol> </nav> <article itemscope itemtype="https://schema.org/Article"> <header class="header__wrapper"> <figure class="image" data-image> <img src="/blog/i/x/cover/blogimage-modernrollbackstratgies-2023.png" srcset="/blog/i/600/cover/blogimage-modernrollbackstratgies-2023.webp 600w, /blog/i/1000/cover/blogimage-modernrollbackstratgies-2023.webp 1000w, /blog/i/2000/cover/blogimage-modernrollbackstratgies-2023.webp 1500w" sizes="(min-width: 1680px) 1000px, (min-width: 940px) calc(71.81vw - 192px), calc(100vw - 32px)" alt="4 release boxes labelled 1.1 to 1.4, the 3rd with a green tick, 4th on fire with a red cross. A rocket travels back from 1.4 to 1.3." class="image__img" width="1500" height="801" loading="eager" fetchpriority="high" decoding="sync"> </figure> <div class="header"> <div class="header__text"> <h1 class="header__title">Automatic rollbacks are a last resort</h1> <p class="header__subtitle">How resilience, continuous delivery, and progressive delivery make rollback less effective than it first appears</p> </div> </div> </header> <div class="page-content anim-show-parent" itemprop="articleBody"> <div class="author"> <a href="/blog/authors/steve-fenton/1/" class="author__image-link"> <img class="author__image" srcset="/blog/i/600/authors/steve-fenton.webp 600w, /blog/i/1000/authors/steve-fenton.webp 713w" sizes="170px" src="/blog/i/x/authors/steve-fenton.png" alt="Steve Fenton" width="713" height="714"> </a> <div class="author__info"> <span class="author__name"> <a href="/blog/authors/steve-fenton/1/"> <span> Steve Fenton </span> </a> </span> <time class="author__time" datetime="Thu May 15 2025 00:00:00 GMT+0000 (Coordinated Universal Time)"> May 15, 2025 </time> </div> </div> <p>People often say they want the ability to roll back software automatically when something goes wrong. This sounds simple enough, but there aren’t many scenarios where an automatic rollback is desirable.</p>
<p>Many causes of deployment failures will also prevent a rollback. For example, if a credential has expired preventing part of the deployment, this will also fail during the rollback process. Someone may also need to make decisions based on what operations succeeded before the deployment stopped, like changes to database state.</p>
<p>There are 3 insights from modern software delivery that all contribute to the fall from grace of automatic rollbacks:</p>
<ul>
<li>We have a better understanding of resilience in our sociotechnical systems</li>
<li>Continuous Delivery makes it easier to roll forward</li>
<li>Progressive delivery provides better mechanisms</li>
</ul>
<h2 id="the-role-of-resilience">The role of resilience</h2>
<p>One of the crucial ideas from the Lean movement is that automation is improved if there are mechanisms to halt operation and ask for human intervention, instead of continuing automatic operation. This was termed <em>autonomation</em>, or automation with a human touch.</p>
<p>Although automatic rollbacks sound like something that would make your software more reliable, this is a situation where resilience is needed. Resilience is something humans excel in.</p>
<p>To put it another way, you can plan-in a certain level of robustness to your deployment process. For example, you could test credentials before starting the deployment. Each time you discover a new kind of failure, you can learn from it and improve how it’s handled. For all the things you haven’t thought of, resilience is required.</p>
<p>Human-driven resilience provides the crucial knowledge needed to improve robustness. Organizations that flag the problem to a human end up with an appropriate resolution to the issue at hand, and knowledge of how to make the system more robust. Automatically rolling back removes this opportunity to learn, as conditions for observing the problem may have been lost.</p>
<h2 id="continuous-delivery-fewer-bugs-and-faster-recovery">Continuous Delivery: Fewer bugs and faster recovery</h2>
<p>If rollbacks are a priority in your organization, it’s likely a signal that you’re missing crucial technical practices. Working in small batches is made possible by frequently committing changes to the main branch so they can be automatically validated. This increases confidence that the new software version is deployable.</p>
<p>The longer you practice Continuous Delivery, the more robust your deployment pipeline becomes. Additionally, if something does slip through, you can quickly roll forward to a new software version that has a fix (and some new tests that stop it from happening again). This is very different from using an expedited process for an urgent fix. Continuous Delivery lets you use the standard process for all changes, because it’s already swift.</p>
<p>Most bugs you encounter in a Continuous Delivery process aren’t critical. There may be an edge case you missed, some scenario that you might not decide to support, or cosmetic issues. Normal feedback cycles can handle these. When a change is more urgent, you can still resolve it by deploying a new software version.</p>
<p>Continuous Delivery progresses the same build artifact through each environment, and it includes validation steps to make sure the software works to the extent you have defined tests. The deployment process itself is being tested at least as often as the software, because you’re using the same automated process to deploy to pre-production environments.</p>
<p>This means the kind of problems you encounter will be transient issues or unexpected events. Let’s get those to an expert.</p>
<h2 id="progressive-delivery-provides-better-strategies">Progressive delivery provides better strategies</h2>
<p>Progressive delivery techniques include deployment strategies, like blue/green and canary deployments, and feature flags.</p>
<p>Deployment strategies include mechanisms to verify the software. Blue/green deployments provide a failback option, and canary deployments let you pause the rollout to limit the impact of an issue. Feature flags take this a step further by providing a runtime mechanism to switch features on and off, or swap feature implementations.</p>
<h2 id="the-last-resort">The last resort</h2>
<p>Rollbacks don’t always return you to a previous system state. They can return you to a state you’ve never tested or operated before. The software version may have been tested, but not with your current database or other dependencies. What other software has moved forward that may no longer be compatible with the previous version?</p>
<p>Redeploying a previous software version should be a last resort, and it ought to have human supervision as there may be many other knock-on effects of moving in reverse. You may fix a bug only to re-open a security vulnerability, or revert to a software version that isn’t compatible with the current database schema or some crucial API.</p>
<p>When you use modern software engineering practices like Continuous Delivery, modern deployment strategies, and feature flags, the appeal of automatic rollbacks is greatly diminished. Bringing human resilience to play results in the creation of increasingly robust systems for testing, deployment, and operation of software.</p>
<p>You can read more about this in the white paper, <a href="https://octopus.com/whitepapers/modern-deployment-and-rollback-strategies">Modern deployment and rollback strategies</a> by Bob Walker. It provides advice on the architectural patterns that support better deployments, the trade-offs of different approaches, and how to select the right approach.</p>
<p>Happy deployments!</p> <!-- <Feedback
frontmatter={frontmatter}
headings={headings}
lang={lang}
/> --> <div class="post-taxonomy"> <div class="post-tag"> <h2>Tags: </h2> <ul itemprop="keywords"> <li> <a href="/blog/tag/devops/1/">DevOps</a> </li><li> <a href="/blog/tag/continuous-delivery/1/">Continuous Delivery</a> </li><li> <a href="/blog/tag/deployment-patterns/1/">Deployment Patterns</a> </li><li> <a href="/blog/tag/rollbacks/1/">Rollbacks</a> </li> </ul> </div> </div> <div class="author"> <a href="/blog/authors/steve-fenton/1/" class="author__image-link"> <img class="author__image" srcset="/blog/i/600/authors/steve-fenton.webp 600w, /blog/i/1000/authors/steve-fenton.webp 713w" sizes="170px" src="/blog/i/x/authors/steve-fenton.png" alt="Steve Fenton" width="713" height="714"> </a> <div class="author__info"> <span class="author__name" itemprop="author" itemscope itemtype="https://schema.org/Person"> <a href="/blog/authors/steve-fenton/1/" itemprop="url"> <span itemprop="name"> Steve Fenton </span> </a> </span> <time class="author__time" datetime="Thu May 15 2025 00:00:00 GMT+0000 (Coordinated Universal Time)" itemprop="datePublished"> Published: May 15, 2025 </time> <div class="author__description-container"> <p class="author__description"> Steve Fenton is a Principal DevEx Researcher at Octopus Deploy and a 8-time Microsoft MVP with more than two decades of experience in software delivery. </p> <ul class="author__social-links"> <li> <a href="https://www.linkedin.com/in/stevefenton/" rel="me"><i class="fa-brands fa-linkedin" aria-label="LinkedIn"></i></a> </li><li> <a href="https://mastodon.social/@stevefenton" rel="me"><i class="fa-brands fa-mastodon" aria-label="Mastodon"></i></a> </li><li> <a href="https://bsky.app/profile/stevefenton.co.uk" rel="me"><i class="fa-brands fa-bluesky" aria-label="Bluesky"></i></a> </li><li> <a href="https://www.stevefenton.co.uk/" rel="me"><i class="fa-solid fa-globe" aria-label="Website"></i></a> </li> </ul> </div> </div> </div> </div> <h3>Related posts</h3> <div class="simple-grid-3"> <article class="card card--padded"> <a href="/blog/octo-easy-mode-23-runbookwebhooks" class="card__link" role="link" aria-label="Open Octopus Easy Mode - Runbook Webhooks"> <div class="card__image-wrapper"> <img srcset="/blog/i/600/cover/blog-ai-introducing-octopus-ai-assistant.webp 600w, /blog/i/1000/cover/blog-ai-introducing-octopus-ai-assistant.webp 750w" sizes="254px" src="/blog/i/x/cover/blog-ai-introducing-octopus-ai-assistant.png" width="750" height="400" alt="The image shows an isometric illustration of a central octopus-like icon connected to multiple brain icons in a hub-and-spoke network pattern against a purple-to-blue gradient background." class="card__image" onerror="this.src='https://i.octopus.com/library/step-templates/other.png';" loading="lazy"> </div> <div class="card__copy"> <p class="card__title">Octopus Easy Mode - Runbook Webhooks</p> <p class="card__description">Learn how to create runbook webhook triggers</p> <div class="card__meta"> <div class="card__authors"> <div class="author"> <img class="author__image" srcset="/blog/i/600/authors/matthew-casperson.webp 140w" sizes="170px" src="/blog/i/x/authors/matthew-casperson.png" alt="Matthew Casperson" width="140" height="140"> <div class="author__info"> <span class="author__name"> <span> Matthew Casperson </span> </span> <time class="author__time" datetime="2026-09-01"> September 1, 2026 </time> </div> </div> </div> </div> </div> </a> </article><article class="card card--padded"> <a href="/blog/the-hotfix-myth" class="card__link" role="link" aria-label="Open Debunking the hotfix pipeline myth"> <div class="card__image-wrapper"> <img srcset="/blog/i/600/cover/devops-golden-paths.webp 600w, /blog/i/1000/cover/devops-golden-paths.webp 750w" sizes="254px" src="/blog/i/x/cover/devops-golden-paths.png" width="750" height="400" alt="Stylized image of DevOps infinity symbol with a car driving on it and increasing speed over golden arrows." class="card__image" onerror="this.src='https://i.octopus.com/library/step-templates/other.png';" loading="lazy"> </div> <div class="card__copy"> <p class="card__title">Debunking the hotfix pipeline myth</p> <p class="card__description">Why it is more important to making the default pipelines as fast and as efficient as possible over hotfix pipelines.</p> <div class="card__meta"> <div class="card__authors"> <div class="author"> <img class="author__image" srcset="/blog/i/600/authors/bob-walker.webp 140w" sizes="170px" src="/blog/i/x/authors/bob-walker.png" alt="Bob Walker" width="140" height="140"> <div class="author__info"> <span class="author__name"> <span> Bob Walker </span> </span> <time class="author__time" datetime="2026-08-27"> August 27, 2026 </time> </div> </div> </div> </div> </div> </a> </article><article class="card card--padded"> <a href="/blog/inside-platform-engineering-nigel-douglas" class="card__link" role="link" aria-label="Open Inside Platform Engineering with Nigel Douglas"> <div class="card__image-wrapper"> <img srcset="/blog/i/600/cover/blog-img-inside-platform-engineering-nigel-douglas.webp 600w, /blog/i/1000/cover/blog-img-inside-platform-engineering-nigel-douglas.webp 750w" sizes="254px" src="/blog/i/x/cover/blog-img-inside-platform-engineering-nigel-douglas.png" width="750" height="400" alt="A photograph of Nigel Douglas surrounded by a circular blue and purple frame." class="card__image" onerror="this.src='https://i.octopus.com/library/step-templates/other.png';" loading="lazy"> </div> <div class="card__copy"> <p class="card__title">Inside Platform Engineering with Nigel Douglas</p> <p class="card__description">A conversation with Nigel Douglas on dependencies, supply chain attacks, and why most teams can&#39;t list everything holding their software together.</p> <div class="card__meta"> <div class="card__authors"> <div class="author"> <img class="author__image" srcset="/blog/i/600/authors/matthew-allford.webp 512w" sizes="170px" src="/blog/i/x/authors/matthew-allford.png" alt="Matthew Allford" width="512" height="512"> <div class="author__info"> <span class="author__name"> <span> Matthew Allford </span> </span> <time class="author__time" datetime="2026-08-21"> August 21, 2026 </time> </div> </div> </div> </div> </div> </a> </article> </div> <div class="newsletter"> <h2>Newsletter</h2> <p>
Join ~80,000 DevOps professionals and sign up for the latest Octopus news,
events, and opinions. No spam. Unsubscribe at any time.
</p> <form id="mktoForm_1062" class="newsletter__form"></form> <script>(function(){const formId = 1062;
const dreamdataTrackingId = undefined;
(() => {
const formEl = document.getElementById(`mktoForm_${formId}`);
if (!formEl) {
return;
}
// Load the 134 KB Marketo library once per page, shared across every form
const loadMarketo = () => {
if (!window.__marketoLoader) {
window.__marketoLoader = new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = 'https://get.octopus.com/js/forms2/js/forms2.min.js';
script.onload = resolve;
script.onerror = () => reject(new Error('Failed to load MktoForms2'));
document.head.appendChild(script);
});
}
return window.__marketoLoader;
};
const initForm = async () => {
try {
await loadMarketo();
} catch (error) {
console.error(error);
// Drop the cached rejected promise so a later form instance can retry
window.__marketoLoader = undefined;
// Collapse any space reserved for this form so a blocked or failed
// load does not leave an empty box (no-op when there is no wrapper)
formEl.closest('.newsletter')?.style.setProperty('display', 'none');
return;
}
// @ts-ignore - no global type for MktoForms2
if (typeof MktoForms2 === 'undefined' || !MktoForms2.loadForm) {
console.error('MktoForms2 is not available after loading.');
return;
}
// @ts-ignore
MktoForms2.loadForm(
'//get.octopus.com',
'271-BEX-827',
formId,
(form) => {
const formElem = form.getFormElem()[0];
if (!(formElem instanceof HTMLElement)) {
console.error(
'Expected a DOM element but got something else',
formElem
);
return;
}
formElem.querySelectorAll('style').forEach((style) => style.remove());
const baseStyle = document.getElementById('mktoForms2BaseStyle');
if (baseStyle) {
baseStyle.remove();
}
formElem.removeAttribute('style');
formElem
.querySelectorAll('.mktoTextField')
.forEach((el) => el.classList.add('form-control'));
formElem
.querySelectorAll('.mktoEmailField')
.forEach((el) => el.classList.add('form-control'));
formElem
.querySelectorAll('.mktoButton')
.forEach((el) => el.classList.add('button', 'button--primary'));
formElem
.querySelectorAll('.mktoAsterix')
.forEach((el) => el.remove());
formElem.querySelectorAll('.mktoOffset').forEach((el) => el.remove());
formElem
.querySelectorAll('.mktoFormCol, .mktoField, .mktoLabel')
.forEach((el) => el.removeAttribute('style'));
// Add Dreamdata tracking if configured
if (dreamdataTrackingId) {
form.onSuccess(function (values, followUpUrl) {
const email = values.Email || values.email;
if (typeof dreamdata !== 'undefined') {
try {
dreamdata.track(dreamdataTrackingId);
if (email) {
dreamdata.identify(null, { email: email });
}
} catch (error) {
console.warn('Dreamdata tracking failed:', error);
}
} else {
console.warn(
'Dreamdata not available for tracking:',
dreamdataTrackingId
);
}
if (followUpUrl) {
location.href = followUpUrl;
}
return followUpUrl ? false : true;
});
}
}
);
};
// The form is below the fold, so defer the library until the reader
// scrolls near it - keeps 134 KB off the critical path on every page.
// 600px of rootMargin starts the download early enough that the form is
// usually ready when it enters the viewport.
if ('IntersectionObserver' in window) {
const observer = new IntersectionObserver(
(entries) => {
if (entries.some((entry) => entry.isIntersecting)) {
observer.disconnect();
initForm();
}
},
{ rootMargin: '600px' }
);
observer.observe(formEl);
} else {
initForm();
}
})();
})();</script> </div> <meta itemprop="image" content="/blog/i/x/cover/blogimage-modernrollbackstratgies-2023.png"> </article> </main> <nav class="site-nav" id="site-nav" aria-label="Site"> <div class="theme-switcher" data-theme-toggle> <input id="theme-switcher" type="checkbox" aria-checked="false" role="switch" aria-label="Toggle theme between light and dark mode" tabindex="-1" data-theme-toggle-checkbox> <label for="theme-switcher" class="theme-switcher__label" tabindex="0"> <span class="theme-switcher__icon theme-switcher__icon--light" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M12 2.40002C11.475 2.40002 11.1 2.81252 11.1 3.30002V5.70002C11.1 6.22502 11.475 6.60002 12 6.60002C12.4875 6.60002 12.9 6.22502 12.9 5.70002V3.30002C12.9 2.81252 12.4875 2.40002 12 2.40002ZM12 17.4C11.475 17.4 11.1 17.8125 11.1 18.3V20.7C11.1 21.225 11.475 21.6 12 21.6C12.4875 21.6 12.9 21.225 12.9 20.7V18.3C12.9 17.8125 12.4875 17.4 12 17.4ZM20.7 12.9C21.1875 12.9 21.6 12.525 21.6 12C21.6 11.5125 21.1875 11.1 20.7 11.1H18.3C17.775 11.1 17.4 11.5125 17.4 12C17.4 12.525 17.775 12.9 18.3 12.9H20.7ZM6.60002 12C6.60002 11.5125 6.18752 11.1 5.70002 11.1H3.30002C2.77502 11.1 2.40002 11.5125 2.40002 12C2.40002 12.525 2.77502 12.9 3.30002 12.9H5.70002C6.18752 12.9 6.60002 12.525 6.60002 12ZM18.7875 6.48752C19.125 6.15002 19.125 5.58752 18.7875 5.21252C18.4125 4.87502 17.85 4.87502 17.5125 5.21252L15.7875 6.93752C15.45 7.27502 15.45 7.83752 15.7875 8.21252C16.1625 8.55002 16.725 8.55002 17.0625 8.21252L18.7875 6.48752ZM8.17502 15.825C7.80002 15.4875 7.23752 15.4875 6.90002 15.825L5.21252 17.55C4.83752 17.8875 4.83752 18.45 5.21252 18.7875C5.55002 19.1625 6.11252 19.1625 6.45002 18.7875L8.17502 17.1C8.51252 16.7625 8.51252 16.2 8.17502 15.825ZM17.5125 18.7875C17.85 19.1625 18.4125 19.1625 18.7875 18.7875C19.125 18.45 19.125 17.8875 18.7875 17.55L17.0625 15.825C16.725 15.4875 16.1625 15.4875 15.7875 15.825C15.45 16.2 15.45 16.7625 15.7875 17.1L17.5125 18.7875ZM8.17502 8.21252C8.51252 7.83752 8.51252 7.27502 8.17502 6.93752L6.45002 5.21252C6.11252 4.87502 5.55002 4.87502 5.21252 5.21252C4.83752 5.58752 4.83752 6.15002 5.21252 6.48752L6.90002 8.21252C7.23752 8.55002 7.80002 8.55002 8.17502 8.21252ZM12 16.2C14.2875 16.2 16.2 14.325 16.2 12C16.2 9.71252 14.2875 7.80002 12 7.80002C9.67502 7.80002 7.80002 9.71252 7.80002 12C7.80002 14.325 9.67502 16.2 12 16.2Z" fill="white"></path> </svg>
Light
</span> <span class="switch-slider"></span> <span class="theme-switcher__icon theme-switcher__icon--dark" aria-hidden="true"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"> <path d="M13.1625 3.59998C8.55005 3.59998 4.80005 7.38748 4.80005 12C4.80005 16.65 8.55005 20.4 13.1625 20.4C15.45 20.4 17.5125 19.5 19.0125 18.0375C19.2 17.85 19.2375 17.5875 19.125 17.325C19.0125 17.1 18.75 16.9875 18.4875 17.025C18.1125 17.1 17.7375 17.1 17.3625 17.1C13.725 17.1 10.7625 14.175 10.7625 10.5C10.7625 8.06248 12.1125 5.88748 14.1375 4.76248C14.3625 4.64998 14.475 4.38748 14.4 4.12498C14.3625 3.86248 14.1375 3.67498 13.875 3.63748C13.65 3.63748 13.3875 3.63748 13.1625 3.63748V3.59998Z" fill="white"></path> </svg>
Dark
</span> </label> </div> <h2 class="site-nav-title">Navigation</h2> <ul class="site-nav__list"> <li class="site-nav__list-item"> <a href="/blog" aria-current="false"> Blog home </a> </li> <li class="site-nav__list-item"> <a href="/blog/tag/product/1" aria-current="false"> Product </a> </li> <li class="site-nav__list-item"> <a href="/blog/tag/engineering/1" aria-current="false"> Engineering </a> </li> <li class="site-nav__list-item"> <a href="/blog/tag/devops/1" aria-current="false"> DevOps </a> </li> <li class="site-nav__list-item"> <a href="/blog/tag/company/1" aria-current="false"> Company </a> </li> <li class="site-nav__list-item"> <a href="/blog/search" aria-current="false"> Search </a> </li> </ul> </nav> <script type="module">
import { ThemeSwitcher } from '/blog/js/modules/theme-switcher.js';
document.addEventListener('DOMContentLoaded', function () {
const themeSwitchers = document.querySelectorAll('[data-theme-toggle]');
themeSwitchers.forEach((switcher) => new ThemeSwitcher(switcher));
});
</script> <div class="side-nav"> <nav class="article-nav" data-article-nav aria-label="Table of contents"> <details class="article-nav__details" open> <summary class="article-nav__title"> On this page </summary> <hr class="separator"> <ol class="article-nav__list"> <li class="article-nav__item article-nav__item--level-2"> <a href="#the-role-of-resilience" class="article-nav__link" data-article-link> The role of resilience </a> </li><li class="article-nav__item article-nav__item--level-2"> <a href="#continuous-delivery-fewer-bugs-and-faster-recovery" class="article-nav__link" data-article-link> Continuous Delivery: Fewer bugs and faster recovery </a> </li><li class="article-nav__item article-nav__item--level-2"> <a href="#progressive-delivery-provides-better-strategies" class="article-nav__link" data-article-link> Progressive delivery provides better strategies </a> </li><li class="article-nav__item article-nav__item--level-2"> <a href="#the-last-resort" class="article-nav__link" data-article-link> The last resort </a> </li> </ol> </details> </nav> <script type="module">document.addEventListener(`DOMContentLoaded`,function(){let e=document.querySelector(`.article-nav__details`),t=()=>{e&&(window.innerWidth>=1130?e.setAttribute(`open`,``):e.removeAttribute(`open`))};t(),window.addEventListener(`resize`,t)});</script> </div> </div> <div data-shared-source="live" data-shared-fragment="footer" data-shared-note="fetched https://octopus.com/fragments/footer at 2026-09-11T10:55:57.544Z">
<footer class="footer footer-pu" itemscope itemtype="https://schema.org/WPFooter">
<div class="footer__content container">
<section class="footer__row footer__row--first" aria-label="Product and resource links">
<div class="footer__column">
<h3 class="footer__column-title" id="footer-first-platform" itemprop="name">Platform</h3>
<ul class="footer__items" aria-labelledby="footer-first-platform">
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/"
aria-label="Continuous Delivery platform"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Continuous Delivery platform
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/use-case/platform-hub"
aria-label="Platform Hub"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Platform Hub
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/ai-tools"
aria-label="AI tools"
itemprop="url">
<span class="footer__item-label" itemprop="name">
AI tools
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/use-case/tenanted-deployments"
target="_blank"
rel="noopener noreferrer"
aria-label="Tenanted deployments (opens in new tab)"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Tenanted deployments
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
</ul>
</div>
<div class="footer__column">
<h3 class="footer__column-title" id="footer-first-resources" itemprop="name">Resources</h3>
<ul class="footer__items" aria-labelledby="footer-first-resources">
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/docs"
aria-label="Documentation"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Documentation
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/downloads"
aria-label="Download Octopus"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Download Octopus
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/publications"
aria-label="Publications"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Publications
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/blog"
aria-label="Blog"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Blog
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
</ul>
</div>
<div class="footer__column">
<h3 class="footer__column-title" id="footer-first-our-company" itemprop="name">Our company</h3>
<ul class="footer__items" aria-labelledby="footer-first-our-company">
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/company"
aria-label="About us"
itemprop="url">
<span class="footer__item-label" itemprop="name">
About us
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/company/careers"
aria-label="Careers"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Careers
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://roadmap.octopus.com/tabs/1-under-consideration"
rel="noopener noreferrer"
aria-label="Roadmap (opens in new tab)"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Roadmap
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://ir.octopus.com/"
rel="noopener noreferrer"
aria-label="Investor relations (opens in new tab)"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Investor relations
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/company/brand"
aria-label="Brand guidelines"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Brand guidelines
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
</ul>
</div>
<div class="footer__column">
<h3 class="footer__column-title" id="footer-first-help-and-support" itemprop="name">Help and support</h3>
<ul class="footer__items" aria-labelledby="footer-first-help-and-support">
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/company/contact"
aria-label="Contact Sales"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Contact Sales
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/support"
aria-label="Support"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Support
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/upgrade"
aria-label="Upgrade"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Upgrade
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/company/trust"
aria-label="Security and legal"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Security and legal
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://oc.to/CommunitySlack"
rel="noopener noreferrer"
aria-label="Community Slack (opens in new tab)"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Community Slack
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
</ul>
</div>
</section>
<section class="footer__row footer__row--second" aria-label="Community and partners">
<div class="footer__column">
<h3 class="footer__column-title" id="footer-second-our-awards" itemprop="name">Our awards</h3>
<ul class="footer__items" aria-labelledby="footer-second-our-awards">
<li class="footer__item">
<a class="footer__item-link"
href="https://www.g2.com/products/octopus-deploy/reviews"
target="_blank"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="Award badge for &quot;Best Meets Requirements&quot; from G2, Summer 2026." loading="lazy" width="868" height="1000" srcset="https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/868x1000/ff9d5240db/continuousintegration_bestmeetsrequirements_meetsrequirements.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://www.gartner.com/reviews/market/devops-platforms/vendor/octopus-deploy-125263461/product/octopus-deploy"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="Gartner badge - Users love us" loading="lazy" width="86" height="101" srcset="https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/86x101/dd0724c752/gartner-users-love-us-badge.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://www.g2.com/products/octopus-deploy/reviews"
target="_blank"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="Badge displaying &quot;High Performer Enterprise&quot; for Summer 2026 with G2 logo." loading="lazy" width="868" height="1000" srcset="https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/868x1000/f647e2f3bc/configurationmanagement_highperformer_enterprise_highperformer.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
</ul>
</div>
<div class="footer__column">
<h3 class="footer__column-title" id="footer-second-sign-up-to-our-newsletter" itemprop="name">Sign up to our newsletter</h3>
<ul class="footer__items" aria-labelledby="footer-second-sign-up-to-our-newsletter">
<li class="footer__item footer__item--component">
<div class="mktoFormWrapper"> <form id="mktoForm_2139" class="newsletter__form"></form> <script>(function(){const formId = 2139;
const dreamdataTrackingId = "Newsletter Signup (Footer)";
(() => {
const formEl = document.getElementById(`mktoForm_${formId}`);
if (!formEl) {
return;
}
// Load the 134 KB Marketo library once per page, shared across every form
const loadMarketo = () => {
if (!window.__marketoLoader) {
window.__marketoLoader = new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = 'https://get.octopus.com/js/forms2/js/forms2.min.js';
script.onload = resolve;
script.onerror = () => reject(new Error('Failed to load MktoForms2'));
document.head.appendChild(script);
});
}
return window.__marketoLoader;
};
const initForm = async () => {
try {
await loadMarketo();
} catch (error) {
console.error(error);
// Drop the cached rejected promise so a later form instance can retry
window.__marketoLoader = undefined;
// Collapse any space reserved for this form so a blocked or failed
// load does not leave an empty box (no-op when there is no wrapper)
formEl.closest('.newsletter')?.style.setProperty('display', 'none');
return;
}
// @ts-ignore - no global type for MktoForms2
if (typeof MktoForms2 === 'undefined' || !MktoForms2.loadForm) {
console.error('MktoForms2 is not available after loading.');
return;
}
// @ts-ignore
MktoForms2.loadForm(
'//get.octopus.com',
'271-BEX-827',
formId,
(form) => {
const formElem = form.getFormElem()[0];
if (!(formElem instanceof HTMLElement)) {
console.error(
'Expected a DOM element but got something else',
formElem
);
return;
}
formElem.querySelectorAll('style').forEach((style) => style.remove());
const baseStyle = document.getElementById('mktoForms2BaseStyle');
if (baseStyle) {
baseStyle.remove();
}
formElem.removeAttribute('style');
formElem
.querySelectorAll('.mktoTextField')
.forEach((el) => el.classList.add('form-control'));
formElem
.querySelectorAll('.mktoEmailField')
.forEach((el) => el.classList.add('form-control'));
formElem
.querySelectorAll('.mktoButton')
.forEach((el) => el.classList.add('button', 'button--primary'));
formElem
.querySelectorAll('.mktoAsterix')
.forEach((el) => el.remove());
formElem.querySelectorAll('.mktoOffset').forEach((el) => el.remove());
formElem
.querySelectorAll('.mktoFormCol, .mktoField, .mktoLabel')
.forEach((el) => el.removeAttribute('style'));
// Add Dreamdata tracking if configured
if (dreamdataTrackingId) {
form.onSuccess(function (values, followUpUrl) {
const email = values.Email || values.email;
if (typeof dreamdata !== 'undefined') {
try {
dreamdata.track(dreamdataTrackingId);
if (email) {
dreamdata.identify(null, { email: email });
}
} catch (error) {
console.warn('Dreamdata tracking failed:', error);
}
} else {
console.warn(
'Dreamdata not available for tracking:',
dreamdataTrackingId
);
}
if (followUpUrl) {
location.href = followUpUrl;
}
return followUpUrl ? false : true;
});
}
}
);
};
// The form is below the fold, so defer the library until the reader
// scrolls near it - keeps 134 KB off the critical path on every page.
// 600px of rootMargin starts the download early enough that the form is
// usually ready when it enters the viewport.
if ('IntersectionObserver' in window) {
const observer = new IntersectionObserver(
(entries) => {
if (entries.some((entry) => entry.isIntersecting)) {
observer.disconnect();
initForm();
}
},
{ rootMargin: '600px' }
);
observer.observe(formEl);
} else {
initForm();
}
})();
})();</script> </div>
</li>
</ul>
</div>
<div class="footer__column">
<h3 class="footer__column-title" id="footer-second-marketplaces" itemprop="name">Marketplaces</h3>
<ul class="footer__items" aria-labelledby="footer-second-marketplaces">
<li class="footer__item">
<a class="footer__item-link"
href="https://marketplace.microsoft.com/en-us/product/saas/octopusdeployptyltd1664464418055.octopus_cloud_saas_offer?tab=overview"
target="_blank"
rel="noopener noreferrer"
aria-label="Azure marketplace (opens in new tab)"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="Azure marketplace logo" loading="lazy" width="43" height="43" srcset="https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/43x43/01bd95458d/azure-marketplace-logo.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
<span class="footer__item-label" itemprop="name">
Azure marketplace
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://aws.amazon.com/marketplace/pp/prodview-rsv6rann3nbsu?sr=0-2&amp;ref_=beagle&amp;applicationId=AWSMPContessa"
target="_blank"
rel="noopener noreferrer"
aria-label="AWS marketplace (opens in new tab)"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="AWS logo with bold white letters &quot;aws&quot; and an orange curved arrow below on a black background." loading="lazy" width="1500" height="1200" srcset="https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/1500x1200/8959e687b4/aws-white.webp/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
<span class="footer__item-label" itemprop="name">
AWS marketplace
</span>
</a>
</li>
</ul>
</div>
</section>
<section class="footer__row footer__row--third" aria-label="Legal and social media">
<div class="footer__column">
<ul class="footer__items"
aria-labelledby="footer-third-">
<li class="footer__item">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/150x150/61efa58c5f/octopus-blue-logo.svg" alt="Octopus blue logo" loading="lazy" width="150" height="150" />
</span>
</span>
<span class="footer__item-label">&#xA9; 2026 Octopus Deploy</span>
</li>
</ul>
</div>
<div class="footer__column">
<ul class="footer__items"
aria-labelledby="footer-third-">
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/legal/privacy"
aria-label="Privacy Policy"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Privacy Policy
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/legal/gdpr"
aria-label="GDPR"
itemprop="url">
<span class="footer__item-label" itemprop="name">
GDPR
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/legal/customer-agreement"
aria-label="Terms"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Terms
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://status.octopus.com/"
rel="noopener noreferrer"
aria-label="Status (opens in new tab)"
itemprop="url">
<span class="footer__item-label" itemprop="name">
Status
<svg class="icon icon--button-link-arrow" xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M6.01228 1.80213L6.66634 1.13321C6.94328 0.849968 7.39111 0.849968 7.6651 1.13321L13.3925 6.98777C13.6695 7.27101 13.6695 7.72901 13.3925 8.00923L7.6651 13.8668C7.38816 14.15 6.94033 14.15 6.66634 13.8668L6.01228 13.1979C5.73239 12.9116 5.73828 12.4446 6.02406 12.1644L9.57424 8.70527L1.10685 8.70527C0.715007 8.70527 0.399764 8.38286 0.399764 7.98211L0.399764 7.0179C0.399764 6.61715 0.715008 6.29474 1.10685 6.29474L9.57424 6.29474L6.02407 2.83564C5.73534 2.55542 5.72945 2.08838 6.01228 1.80213Z' fill='#0D80D8'/></svg>
</span>
</a>
</li>
</ul>
</div>
<div class="footer__column">
<ul class="footer__items"
aria-labelledby="footer-third-">
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/company/trust"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="SOC 2 Type II compliance" loading="lazy" width="121" height="28" srcset="https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/121x28/f5e12a77a5/soc2-1.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://octopus.com/support/enterprise-argo-support"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="Argo logo" loading="lazy" width="81" height="46" srcset="https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/81x46/95d9bb1ded/property-1-argo-logo-color.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
</ul>
</div>
<div class="footer__column">
<ul class="footer__items"
aria-labelledby="footer-third-">
<li class="footer__item">
<a class="footer__item-link"
href="https://x.com/OctopusDeploy"
target="_blank"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="X logo" loading="lazy" width="35" height="35" srcset="https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/35x35/6f5c80f250/x-logo.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://www.linkedin.com/company/octopus-deploy"
target="_blank"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="LinkedIn logo" loading="lazy" width="35" height="35" srcset="https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/35x35/d628eb60c7/linkedin-logo.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://github.com/OctopusDeploy"
target="_blank"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="GitHub logo" loading="lazy" width="35" height="35" srcset="https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/35x35/6d993f391c/github-logo.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
<li class="footer__item">
<a class="footer__item-link"
href="https://www.youtube.com/c/Octopusdeploy"
rel="noopener noreferrer"
aria-label="Image link"
itemprop="url">
<span class="footer__item-image" aria-hidden="true">
<span class="image-wrapper">
<img src="https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp)" alt="YouTube logo" loading="lazy" width="35" height="35" srcset="https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/400x0/filters:quality(85):format(webp) 400w, https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/600x0/filters:quality(85):format(webp) 600w, https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/800x0/filters:quality(85):format(webp) 800w, https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/1200x0/filters:quality(85):format(webp) 1200w, https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/1600x0/filters:quality(85):format(webp) 1600w, https://a.storyblok.com/f/185929/35x35/944072d610/youtube-logo.png/m/fit-in/2000x0/filters:quality(85):format(webp) 2000w" sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 70vw" />
</span>
</span>
</a>
</li>
</ul>
</div>
</section>
</div>
</footer>
</div> <script>(function(){const site_url = "https://octopus.com";
const site_features = {"stickyNav":{"top":75.2},"codeBlocks":["copy"],"figures":["enlarge"],"youTubeLinks":["embed"],"headers":["link"],"details":["tabs"],"search":["dialog"]};
window.site_url = site_url;
window.site_features = site_features;
})();</script><script src="/blog/js/main.js" type="module" async></script><script>
document.addEventListener('searched', (e) => {
if (typeof plausible != 'undefined') {
plausible('Search', { props: e.detail });
}
});
</script> <script defer src="https://octopus.com/octopus-public/assets/navbarPU.js"></script> <script defer src="https://octopus.com/octopus-public/assets/buttonHoverEffect.js"></script> </body> </html>