Welcome to another Will it Deploy? Episode where we try to automate the deployment of different technologies with Octopus Deploy. In this special double-episode, we’re trying to deploy a multi-tenant SaaS web app to different customers running on Amazon Web Services (AWS) virtual machines.
Problem
Tech Stack
Our app is a quote generator called Random Quotes. The application is relatively simple but it includes a number of common features that allows us to illustrate the complexities of multi-tenant deployments.
Features:
- Customized app settings for each customer
- Dynamic feature/module loading at application startup
- Customized colors and styles for each customer
Technologies:
- Microsoft ASP.NET Core 2.0 web app
- Entity Framework Core 2.0 framework
- Microsoft SQL Server 2017 database
Kudos to our marketing manager Andrew who has been learning to code and built the first cut of this app. Great work!
Deployment Target
- AWS - EC2 virtual machine
- Microsoft Windows Server 2016
Solution
So will it deploy? Yes it will! Our deployment process looks like the following.
Then we add the following steps to successfully deploy our app.
- Octopus Deploy a Package step to copy our database scripts to our database deployment target
- Octopus Community Contributed step template - SQL - Execute Script File to execute our Entity Framework Core migration script against our SQL Server database.
- Octopus Deploy to IIS step to deploy our multi-tenant ASP.NET Core web application
- Octopus Deploy a Package step to copy the Admin Module to customer’s website if they pay for this feature
- Octopus Deploy a Package step to copy the Sharing Module to customer’s website if they pay for this feature
This project uses the following variables, variable templates and common variable templates to store our app settings, database connection details and web app configuration.
This episode’s GitHub repo contains all the resources and links used in this video.
Wrap-up
We hope you enjoyed this episode as we have many more in the works! If there’s a framework or technology you’d like us to explore, let us know in the comments.
Don’t forget to subscribe to our YouTube channel as we’re adding new videos regularly. Happy deployments! :)
Tags:
Related posts

Changes to the Octopus C# client library open source repository
The Octopus C# client library is moving into our monorepo

Modernizing the Process Editor for greater control over complex processes
Design updates to the Process Editor UI

Azure private networking for Octopus Cloud
Enterprise security meets deployment convenience. Discover how Azure Private Endpoints for Octopus Deploy Cloud eliminate the trade-off between private networking and managed SaaS platforms.