Samples

Our samples instance contains real-world deployment and runbook examples.

Each one highlights one or more available Octopus features, from deploying Java applications to upgrading a Helm chart in a Kubernetes cluster.

This page acts as a directory of features found in our samples instance.

We’re constantly adding to our samples instance. If you’d like to explore any of our samples further, just go to https://samples.octopus.app and log in as a guest.

Deployment features

This section contains Octopus features that are found in Project deployment processes in the samples instance. Each feature list is categorized by the Octopus Space and Project in which it can be found.

AWS

Explore examples of Octopus Deploy’s AWS integration, including EC2, AWS RDS database, AWS CLI, Lambda and ECS deployments.

Pattern - Blue-Green

Secrets Management

Target - Containers

Target - MariaDB

  • Grate - AWS RDS: Example project for automated database deployments using RoundhousE against an AWS RDS MariaDB instance. Build definition RoundhousE has been deprecated and no longer compatible with the latest version of MariaDB.
  • DBUp - AWS RDS: Example project for automated database deployments using Dbup against an AWS RDS MariaDB instance. Build definition At this time, DBuP is not compatible with the latest version of MariaDB.
  • Flyway - AWS RDS: Example project for automated database deployments using Flyway against an AWS RDS MariaDB instance. Build definition
  • RoundhousE - AWS RDS: Example project for automated database deployments using RoundhousE against an AWS RDS MariaDB instance. Build definition RoundhousE has been deprecated and no longer compatible with the latest version of MariaDB.
  • Liquibase - AWS RDS: Sample project that creates and deploys the sakila database to an AWS RDS MariaDB instance using Liquibase. Build definition

Target - MySQL

Target - Oracle

Target - PostgreSQL

Target - Serverless

Target - SQL Server

Target - Tomcat

Azure

Explore ways to use Octopus Deploy’s built-in Azure steps, including Azure WebApp, Azure CLI, ARM template and Azure SQL deployments.

Octopus Admin

  • AzFuncNotifySlack: Azure Function App that consumes Octopus subscription webhook and send message to Slack

Pattern - Canary

  • Deploy Web App: A sample project showing canary deployments of RandomQuotes to Azure WebApps.

Pattern - Monolith

Pattern - Rolling

Pattern - Tenants

Pattern-AutoScaling

  • Azure VMSS Orchestration: A sample project showing how to use an orchestration project to deploy child applications with an Azure Virtual Machine scale set (VMSS).
  • App + VMSS: A sample project showing how to deploy an application when using an Azure Virtual Machine scale set (VMSS).

Secrets Management

Target - Hybrid

Target - MySQL

Target - PaaS

  • OctoPetShop: A .NET Core Sample application used by Octopus to sample deployments and Runbooks. This example deploys OctoPetShop to Azure PaaS. The Product, Shopping Cart and Web App are deployed to Azure Web Apps and the Database to an empty Azure SQL server - Build

Target - PostgreSQL

Target - Serverless

Target - Tomcat

Google Cloud

Find out more about the new Octopus dedicated Google Cloud support, including gcloud CLI, Google Container Registry (GCR), Terraform and Kubernetes deployments.

Pattern - Rolling

Secrets Management

Target - Containers

Target - MySQL

Target - PostgreSQL

Target - SQL Server

IIS

Learn more about the IIS support that Octopus has to offer, including IIS deployments, and community step templates that allow fine-grain control of your IIS Websites and applications.

Pattern - Blue-Green

Pattern - IaC

  • Random Quotes - Azure: Uses runbooks to create Azure virtual machines using Terraform code for hosting an application and backing database, then deploys the Random Quotes database and application to those machines.
  • Random Quotes AWS: This is a sample project that showcases the use of Terraform with runbooks to create the infrastructure that is needed for a projects deployments. The runbooks in this project spin up two EC2 instances within AWS that are then used to deploy the Random Quotes web application and database to.

Pattern - Rollbacks

  • 03 OctoFX - Complex Rollback: A sample .NET project showing deployments to Windows with a complex set of rollback functionality added.
  • 01 OctoFx - Original: A sample .NET project showing deployments to Windows without any rollback functionality.
  • 02 OctoFX - Simple Rollback: A sample .NET project showing deployments to Windows with a simple set of rollback functionality added.

Pattern-AutoScaling

Target - Hybrid

Target - Windows

Java

Octopus has a range of Java application deployment examples, from deploying to Tomcat via Manager, deployments to Wildfly EAP and community step templates that offer first-class database deployment options like Flyway.

Pattern - Blue-Green

Pattern - Rollbacks

Pattern - Rolling

Target - Tomcat

Target - Wildfly

  • PetClinic: A sample project deploying the Java PetClinic app to a Linux VM in Azure.

Kubernetes

View practical Kubernetes examples, including deployment, service, ingress resources, and helm chart upgrades.

Pattern - Rollbacks

Target - Kubernetes

  • Rancher: A sample project that deploys the PetClinic application to a Rancher-managed Kubernetes cluster.
  • OctopusDeploy: Setup an AWS EKS Cluster and target within Octopus Resources: AWS EKS Configuration eksctrl
  • Multi-Cloud PetClinic: Setup AWS EKS, GCP GKE, and Azure AKS Clusters and targets within Octopus
  • Database: A sample project that deploys the database component of the Octo Pet Shop application to Kubernetes.
  • Product API: A sample project that deploys the Product API component of the Octo Pet Shop application to Kubernetes.
  • Shopping Cart API: A sample project that deploys the Shopping Cart API component of the Octo Pet Shop application to Kubernetes.
  • Web App: A sample project that deploys the main Web app component of the Octo Pet Shop application to Kubernetes.
  • Migrations: A sample project that deploys the database migrations of the Octo Pet Shop application to Kubernetes.
  • Octo Pet Shop - Raw YAML: A sample project that uses the Deploy RAW YAML step to deploy the OctoPetShop app to a Kubernetes cluster.
  • PetClinic Helm Chart: Sample showing how to deploy the PetClinic application using a Helm Chart. Source code located here
  • PetClinic: Setup an AWS EKS Cluster and target within Octopus Resources: AWS EKS Configuration eksctrl
  • nginx+httpd: A sample project showing deployment of nginx and httpd as described in this blog post.

Runbook features

This section contains features that are found in Octopus runbooks in our samples instance. Each feature list is categorized by the Octopus Space, Project and runbook in which it can be found.

AWS

Explore examples of Octopus Deploy’s AWS integration, including EC2, AWS RDS database, AWS CLI, Lambda and ECS deployments.

Pattern - Blue-Green

  • Random Quotes .NET
  • Random Quotes .NET IIS
  • Random Quotes Java
    • Change Production Group: Runbook that will switch traffic to one of the two load-balancer listener options for the Octopus Environment; Blue, or Green.
    • Create Infrastructure: Runbook that will spin up the Random Quotes Java project infrastructure in AWS for an Octopus Environment.
    • Destroy Infrastructure: Runbook that will tear down the Random Quotes Java project infrastructure in AWS for an Octopus Environment.
    • Destroy the Kraken: Runbook that will tear down all the Random Quotes Java project infrastructure in AWS.
    • Unleash the Kraken: Runbook that will spin up all the required Random Quotes Java project infrastructure in AWS.

Pattern - IaC

Pattern - Rolling

Pattern-AutoScaling

Secrets Management

  • AWS Secrets Manager
    • Retrieve Secrets: This runbook retrieves secrets from AWS Secrets Manager and creates sensitive output variables to use in deployments and runbooks.

Target - Containers

Target - Kubernetes

  • Multi-Cloud PetClinic
  • OctopusDeploy
    • Create Cluster: Creating a two node Kubernetes cluster in AWS using eksctl. Rather than the default configuration eksctl will use this cluster config.
    • Delete Cluster: Delete Kubernetes cluster and node groups from AWS
  • PetClinic
    • Create Cluster: Creating a two node Kubernetes cluster in AWS using eksctl. Rather than the default configuration eksctl will use this cluster config.

This creates a single cluster in the Production environment, and then copies it as a target to all environments

Target - Oracle

Target - Serverless

Target - SQL Server

Target - Tomcat

Azure

Explore ways to use Octopus Deploy’s built-in Azure steps, including Azure WebApp, Azure CLI, ARM template and Azure SQL deployments.

Octopus Admin

Pattern - IaC

Pattern - Rolling

Pattern - Tenants

Pattern-AutoScaling

Secrets Management

  • Azure Key Vault
    • Create Azure Key Vault: This runbook creates the infrastructure required for retrieving secrets from Azure Key Vault.
    • Retrieve Secrets: This runbook retrieves secrets from Azure Key Vault and creates sensitive output variables to use in deployments and runbooks.
  • HashiCorp Vault

Target - Kubernetes

Target - Payara

Target - Serverless

Target - SQL Server

Target - Tomcat

Target - WebSphere

Target - Windows

  • OctoFX
    • Manual Failover to Primary: This is a Runbook designed to failover back from Disaster Recovery in UK South to Western Europe. Please check all resources are healthy before running this Runbook:
      • Must be run in the context of Production for URL testing to work successfully.
    • Monitor Primary Website & Failover to DR if offline: This is to be run in the context of Disaster Recovery so it can spin up the correct machines and then failover:
      • Checks Production URL
      • Starts DR SQL & Web
      • Switches DNS over. 60s TTL
    • Start Environment: Starts the Web and SQL Server for specified environments. This is the template for the scheduled triggers turning on Infrastructure
    • Stop Environment: Stops the Web and SQL Server for specified environments. This is the template for the scheduled triggers turning off Infrastructure

Google Cloud

Find out more about the new Octopus dedicated Google Cloud support, including gcloud CLI, Google Container Registry (GCR), Terraform and Kubernetes deployments.

Pattern - Rolling

Secrets Management

  • GCP Secret Manager
    • Retrieve Secrets: This runbook retrieves secrets from Google Cloud Secret Manager and creates sensitive output variables to use in deployments and runbooks.

Target - Kubernetes

Target - SQL Server

IIS

Learn more about the IIS support that Octopus has to offer, including IIS deployments, and community step templates that allow fine-grain control of your IIS Websites and applications.

Pattern - Blue-Green

Target - Windows

  • Computer Provisioning
  • OctoFX
    • Backup & Restore SQL Backup from Production to Environment: Back up Production Database and Restore to Environment picked during running.

      • If you select Production, it will overwrite Production (Only to be used for Restoring backups to Production)
      • If you select Test, it will restore to Test
      • If you select Development, it will restore to Development
      • If you select Disaster Recovery, it will restore to Disaster Recovery
    • Install Dependencies: Installs Dependencies for the application to run. It installs the following:

      • Chocolatey
      • Chocolatey VSCode Install
      • Chocolatey .NET 4.7.2
      • Chocolatey .NET 4.8
      • Installs IIS & Dependencies
      • Checks for Pending Restarts and Restarts if required.
    • Restart IIS AppPool: Restarts an IIS AppPool in required environment

    • Restart IIS Website: Runbook that restarts a named IIS Website

    • Start IIS AppPool: Starts IIS App Pool on Web Servers

    • Stop IIS AppPool: Stops an IIS AppPool in required environment

Java

Octopus has a range of Java application deployment examples, from deploying to Tomcat via Manager, deployments to Wildfly EAP and community step templates that offer first-class database deployment options like Flyway.

Pattern - Rollbacks

Kubernetes

View practical Kubernetes examples, including deployment, service, ingress resources, and helm chart upgrades.

Pattern - Rollbacks

Terraform

See how to use Octopus built-in Terraform steps to manage your infrastructure and resources in a convention-based, templated way. Our samples instance includes terraform plan, apply and destroy terraform steps.

Pattern - IaC

Target - Serverless

Target - Windows

  • eShopOnWeb
    • Create Infrastructure: Stands up an Azure VM with IIS and SQL Server Express using Terraform for eShopOnWeb to be deployed on to.
    • Destroy Infrastructure: Destroys the Azure VM and infrastructure created for this project.

Help us continuously improve

Please let us know if you have any feedback about this page.

Send feedback

Page updated on Sunday, January 1, 2023